centos安装部署zabbix3.0

本次搭建环境为centos6.8

1、关闭selinux(必须要关,否则可能访问不了)

setenforce 0 临时生效

修改配置文件/etc/sysconfig/selinux

2、安装mysql(最好5.6以上)

rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

yum -y install mysql-server

yum list installed | grep mysql 发现所有mysql相关都为5.6

修改mysql配置文件/etc/my.cnf,在[mysqld]中添加innodb_file_per_table=1

/etc/init.d/mysqld start 开启mysql服务

mysql 登录mysql,默认没有密码,进去后设定root密码

set password = password('123456');

创建zabbix表,创建zabbix用户并授权

CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '123456';

3、安装php(必须5.4或以上)和apache

rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm

yum -y install httpd php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap

创建文件/etc/httpd/conf.d/zabbix.conf

php_value max_execution_time 300

php_value memory_limit 128M

php_value post_max_size 16M

php_value upload_max_filesize 2M

php_value max_input_time 300

php_value always_populate_raw_post_data -1

php_value date.timezone Asia/Shanghai

修改apdche配置文件

vim /etc/httpd/conf/httpd.conf

ServerName 127.0.0.1

DirectoryIndex index.html index.html.var index.php

/etc/init.d/httpd start 启动http服务

4、打开防火墙80端口或者关闭防火墙

iptables -I INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

/etc/init.d/iptables save

5、创建zabbix用户

groupadd zabbix

useradd -g zabbix zabbix

6、安装zabbix

安装依赖包

yum -y install gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel

下载zabbix源码包,本次下载路径在/下

wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz

tar -zxvf zabbix-3.0.4.tar.gz

将数据库文件导入zabbix库中,每次导入时需输入数据库root密码

cd /zabbix-3.0.4/database/mysql/

mysql -uroot -hlocalhost -p zabbix

mysql -uroot -hlocalhost -p zabbix

mysql -uroot -hlocalhost -p zabbix

编译安装zabbix

cd /zabbix-3.0.4

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp -with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --prefix=/usr/local/zabbix

make install

修改zabbix_server的配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf

DBName=zabbix

DBUser=zabbix

DBPassword=zabbixpass

创建新的网页文件目录,并拷贝php文件到该目录下

mkdir /var/www/html/zabbix

cd /root/zabbix-3.0.4/frontends/php/

cp -a . /var/www/html/zabbix/

修改网页文件目录的所有者权限

chown -R apache:apache /var/www/html/zabbix

chmod +x /var/www/html/zabbix/conf/

添加Zabbix服务器和Zabbix代理启动脚本,设置开机启动

cp /zabbix-3.0.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server

cp /zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

chkconfig --add /etc/init.d/zabbix_server

chkconfig --add /etc/init.d/zabbix_agentd

chkconfig httpd on

chkconfig mysqld on

chkconfig zabbix_server on

chkconfig zabbix_agentd on

修改启动路径

vim /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix

vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix

开启zabbix服务

/etc/init.d/zabbix_server start

/etc/init.d/zabbix_agentd start

这时用与本机可互通的计算机的浏览器便可访问该主机的zabbix安装页面,进一步进行安装

http://192.168.137.2/zabbix

需要zabbix监控的服务器只安装zabbix_agent即可,然后修改配置文件调整主被动模式,开启zabbix_agent服务即可通过zabbix添加和监控该服务器,方法见排错1

#####################排错########################

这时已经可以通过web来访问zabbix服务证明基本服务框架已经部署完毕,但是创建主机后发现服务端和被监控端连接不通,通过排错后发现问题:

1、未配置zabbix_agentd.conf文件,这个文件中可指定监控的模式(主动、被动)

在该文件中Passive checks related和Active checks related标题字段后定义了agent采用的监控模式

在该文件中添加如下字段:(Server和ServerActive添加一个即可)

Server=192.168.137.2 指定处于被动模式哪台服务器拉取agent端的数据

ServerActive=192.168.137.2 指定处于主动模式将信息推送到哪台主机

Hostname=hostname(改主机名写被监控主机的名字,或者改成被监控主机ip地址)

2、网页调成中文模式会有一些乱码或者文字无法正常显示,这是zabbix的字体问题,解决方法如下:

从windows中拷贝一个字体文件,位置在C:\Windows\Fonts,然后看该文件后缀是否为小写的ttf,不是的话改成

小写。然后将该文件放到zabbix在web服务中的存放字体的文件夹中,本次实验位置为/var/www/html/zabbix/fonts

之后修改配置文件/var/www/html/zabbix/include/defines.inc.php

define('ZBX_FONT_NAME','字体文件名');

define('ZBX_GRAPH_FONT_NAME','字体文件名');

修改好这些后直接刷新web页面即可看到字体已可以正常显示

3、可自定义简单的监控脚本

在zabbix_agent配置文件中添加新条目(一般可在zabbix_agentd.d下新建配置条目,方便管理),本次试验如下:

在zabbix_agent服务器上:

mkdir -p /etc/zabbix/scripts 创建存放检测脚本的目录

vi /etc/zabbix/scripts/nginx_conn.sh 创建检测脚本,功能为删选出连接本机nginx服务的ip个数,注意引用了位置变量

#!/bin/bash

key=$1

case "$key" in

"ESTABLISHED")

netstat -nt|grep ESTABLISHED|grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}:(443\s+|80\s+)'|awk '{print $5}'|awk -F ":" '{print $1}'|sort|uniq -c|wc -l

;;

"TIME_WAIT")

netstat -nt|grep TIME_WAIT|grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}:(443\s+|80\s+)'|awk '{print $5}'|awk -F ":" '{print $1}'|sort|uniq -c|wc -l

;;

"CLOSE_WAIT")

netstat -nt|grep CLOSE_WAIT|grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}:(443\s+|80\s+)'|awk '{print $5}'|awk -F ":" '{print $1}'|sort|uniq -c|wc -l

;;

esac

vi /etc/zabbix/zabbix_agentd.d/userparameter_nginx_conn.conf 创建zabbix引用检测脚本的配置文件

UserParameter=nginx_conn[*],/etc/zabbix/scripts/nginx_conn.sh $1 固定格式

UserParameter 规定名称

nginx_conn[*] 自定议键值名称,[*]表示吧[]内所有参数安顺序传递给后续脚本位置变量

/etc/zabbix/scripts/nginx_conn.sh $1 刚才创建的脚本路径和位置变量个数定义

/etc/init.d/zabbix-agent restart 重启zabbix_agent客户端服务,这时客户端的操作完毕

在zabbix监控网页上:

配置--主机--监控项 在刚才的主机上新建自定义的监控项

监控项--键值 这里写nginx_conn[CLOSE_WAIT],证明使用nginx_conn键值,把CLOSE_WAIT传入脚本的第一个位置变量

添加使用zabbix监控msyql模板教程网站:

https://www.cnblogs.com/kevingrace/p/5618342.html

你可能感兴趣的:(centos安装部署zabbix3.0)