本次搭建环境为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服务证明基本服务框架已经部署完毕,但是创建主机后发现服务端和被监控端连接不通,通过排错后发现问题: 在该文件中Passive checks related和Active checks related标题字段后定义了agent采用的监控模式 在该文件中添加如下字段:(Server和ServerActive添加一个即可) Server=192.168.137.2 指定处于被动模式哪台服务器拉取agent端的数据 ServerActive=192.168.137.2 指定处于主动模式将信息推送到哪台主机 Hostname=hostname(改主机名写被监控主机的名字,或者改成被监控主机ip地址) 从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页面即可看到字体已可以正常显示 在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#####################排错########################
1、未配置zabbix_agentd.conf文件,这个文件中可指定监控的模式(主动、被动)
2、网页调成中文模式会有一些乱码或者文字无法正常显示,这是zabbix的字体问题,解决方法如下:
3、可自定义简单的监控脚本