Zabbix3.0.X安装&监控
目录
一、 依赖环境准备(LAMP)... 3
1、 mysql的准备... 3
2、 apache的准备... 4
3、 PHP的准备... 4
二、 Zabbix编译安装... 5
1、准备依赖环境... 5
2、编译安装... 5
3、配置数据库... 5
4、修改配置文件... 6
5、移动web访问文件到http. 6
6、修改中文乱码... 6
三、 Zabbix添加监控项... 7
配置客户端agent. 7
添加主机... 7
1、 添加mysql监控项(使用自带模板)... 8
2、 查看服务器相关图形... 9
3、 添加触发器... 9
一、依赖环境准备(LAMP)
系统为centos6.8
1、mysql的准备
l mysql版本为5.6
建议在编译完zabbix后在安装数据库,以免编译时mysql报错
l 下载yum源
rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
l 安装mysql
yum -y install mysql-community-server
报错:
解决方法: rpm –ivh http://219.238.7.67/files/6140000005F6991A/mirror.bit.edu.cn/centos/6.6/os/x86_64/Packages/perl-DBI-1.609-4.el6.x86_64.rpm
|
l 启动mysql
service mysqld start
mysql_secure_installation 初始化
输入root密码、y、n、n、y
2、apache的准备
l yum -y install httpd
l 修改配置文件,支持PHP解析
ServerName 127.0.0.1 DirectoryIndex index.html index.html.var index.php
|
l 启动http的
service httpd restart
3、PHP的准备
l PHP版本要求为大于5.4
l 添加yum源
rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
l 安装PHP5.6
在安装的时候,需要添加yum的缓存,并有额外的yum源(阿里,163等)
yum -y install php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap
报错
file /etc/my.cnf from install of mysql-libs-5.1.73-8.el6_8.x86_64 conflicts with file from package mysql-community-server-5.6.39-2. el6.x86_64 |
安装php56w-mysql的时候,与安装msyql的mysql-libs版本冲突,需要的是5.1,mysql自带的是5.6,
解决办法:
rpm -vih http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm
安装MySQL-shared-compat-5.6.14-1.el6.x86_64.rpm高版本mysql共享库
l 修改配置
[root@localhost /]# vim /etc/php.ini post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Shanghai always_populate_raw_post_data = -1
|
l 检测版本
[root@localhost ~]# php -v PHP 5.6.33 (cli) (built: Jan 14 2018 08:26:10) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies |
二、Zabbix编译安装
1、准备依赖环境
yum -y install gcc libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel
如果网络不畅,可以使用本地yum源安装
创建用户:useradd zabbix
2、编译安装
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy &&make &&make install
如果提示mysql安装问题,可以先将高版本的mysql包卸载,进行
yum -y install mysql-devel mysql-libs 安装和rpm -ivh mysql-libs-5.1.73-7.el6.x86_64.rpm --force –nodeps 安装
,安装完成后,在进行对高版本mysql进行安装
3、配置数据库
l 创建数据库
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
l 授权
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘123123‘;
l 导入SQL文件
在解压路径下的zabbix-3.0.15/database/mysql的SQL文件导入数据库
mysql> source /root/soft/schema.sql;
mysql> source /root/soft/images.sql;
mysql> source /root/soft/data.sql;
4、修改配置文件
[root@localhost etc]# vim zabbix_server.conf
DBName=zabbix DBUser=zabbix DBPassword=zabbixpass
|
5、移动web访问文件到http
cp -r /root/soft/zabbix-3.0.15/frontends/php/* /var/www/html/
chown -R apache:apache /var/www/html
chmod +x /var/www/html/conf/
cp /root/soft/zabbix-3.0.15/misc/init.d/fedora/core/zabbix_* /etc/init.d/
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix/ #修改项
重启Apache服务
进行web页面访问
Ip:端口/setup.php
进入图形界面安装,注意相关配置
6、修改中文乱码
l 进入/var/www/html/fonts 目录
添加windos电脑中的文字编码 C:\Windows\Fonts
选择【楷体常规】,放入/var/www/html/fonts,修改文件名为小写
修改文件/var/www/html/include/defines.inc.php的DejaVuSans替换为simkai
刷新正常
三、Zabbix添加监控项
配置客户端agent
l 添加yum源
rpm -ihv http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
l 安装客户端
yum install zabbix-agent –y
l 修改客户端配置
grep -v -E ‘^#|^$‘ zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.130.44.184 #被动模式 ServerActive=10.130.44.184 #主动模式 Hostname=180-test #主机名 Include=/etc/zabbix/zabbix_agentd.d |
l 启动客户端
/etc/init.d/zabbix-agent start
添加主机
添加完后
批量添加坐席,自动发现
创建自动发现规则
创建自动发现动作
配置自动发现的主机名,会自动填写,需要将要监控的主机ip和主机名加入到hosts中,以便于自动发现时,显示正常的主机名
1、添加mysql监控项(使用自带模板)
l 在【主机】-【模板】中添加
Template App MySQL和Template OS Linux
l 添加后在监控项中会有
l 在客户端的配置文件出添加msyql调用文件
/etc/zabbix
cat .my.cnf
[mysql] host=localhost user=zabbix #连接用户 password=123123 #连接用户密码 socket=/var/lib/mysql/mysql.sock #启动的sock文件 [mysqladmin] host=localhost user=zabbix password=123123 socket=/var/lib/mysql/mysql.sock |
l 修改zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
l 可以通过动态图形来查看监控项
2、查看服务器相关图形
选择对应的图形进行查看
3、添加nginx监控项
l 监控脚本
#!/bin/bash ################################## # Zabbix monitoring script # # nginx: # - anything available via nginx stub-status module # ################################## # Contact: # vincent.viallet@gmail.com # Zabbix requested parameter ZBX_REQ_DATA="$1" ZBX_REQ_DATA_URL="$2" # Nginx defaults NGINX_STATUS_DEFAULT_URL="http://127.0.0.1/nginx_status" WGET_BIN="/usr/bin/wget" # # Error handling: # - need to be displayable in Zabbix (avoid NOT_SUPPORTED) # - items need to be of type "float" (allow negative + float) # ERROR_NO_ACCESS_FILE="-0.9900" ERROR_NO_ACCESS="-0.9901" ERROR_WRONG_PARAM="-0.9902" ERROR_DATA="-0.9903" # either can not connect / bad host / bad port # Handle host and port if non-default if [ ! -z "$ZBX_REQ_DATA_URL" ]; then URL="$ZBX_REQ_DATA_URL" else URL="$NGINX_STATUS_DEFAULT_URL" fi # save the nginx stats in a variable for future parsing NGINX_STATS=$($WGET_BIN -q $URL -O - 2> /dev/null) # error during retrieve if [ $? -ne 0 -o -z "$NGINX_STATS" ]; then echo $ERROR_DATA exit 1 fi # # Extract data from nginx stats # case $ZBX_REQ_DATA in active_connections) echo "$NGINX_STATS" | head -1 | cut -f3 -d‘ ‘;; accepted_connections) echo "$NGINX_STATS" | grep -Ev ‘[a-zA-Z]‘ | cut -f2 -d‘ ‘;; handled_connections) echo "$NGINX_STATS" | grep -Ev ‘[a-zA-Z]‘ | cut -f3 -d‘ ‘;; handled_requests) echo "$NGINX_STATS" | grep -Ev ‘[a-zA-Z]‘ | cut -f4 -d‘ ‘;; reading) echo "$NGINX_STATS" | tail -1 | cut -f2 -d‘ ‘;; writing) echo "$NGINX_STATS" | tail -1 | cut -f4 -d‘ ‘;; waiting) echo "$NGINX_STATS" | tail -1 | cut -f6 -d‘ ‘;; *) echo $ERROR_WRONG_PARAM; exit 1;; esac exit 0 |
l Nginx监控模板(可从网上查找)
https://github.com/jizhang/zabbix-templates/blob/master/nginx/nginx-template.xml |
4、添加自定义监控项
l 添加监控脚本
[root@CS-01 zabbix]# cat chk_active.sh #!/bin/sh #checkprogram case $1 in nginx) ps -ef|grep -v grep |grep -v chk_active.sh|grep nginx |wc -l ;; tomcat) ps -ef|grep -v grep |grep -v chk_active.sh|grep tomcat |wc -l ;; *) echo "-0.9902";exit 1;; esac exit 0 |
l 添加监控配置
UserParameter=chk_acative[*],sh /usr/local/zabbix/chk_active.sh "$1"
l 添加nginx状态的监控项的模板
l 添加监控项
5、添加触发器
选择触发器监控项
选择触发条件
等于0时触发
l 测试触发器
将触发器的模板添加到主机中
关闭主机中的tomcat服务,测试触发器