本次搭建环境为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 <schema.sql
mysql -uroot -hlocalhost -p zabbix <images.sql
mysql -uroot -hlocalhost -p zabbix <data.sql
编译安装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