企业级监控系统zabbix—分布式监控平台添加服务监控项(http、nginx、mysql)


文章目录

  • 企业级监控系统zabbix---分布式监控平台添加服务监控项(http、nginx、mysql)
  • 1.监控http服务
  • 2.监控nginx服务
  • - 部署nginx服务
  • - 创建nginx监控项(nginx.active)
  • - 在分布式监控平台添加监控项
  • - 创建nginx监控项(nginx.accept)
  • - 在分布式监控平台添加监控项
  • 3.监控zabbix server上的mysql服务
  • - 配置mysql
  • - 安装percona-zabbix模版
  • - 导入模板


1.监控http服务

http是zabbix自带的监控模板
step1 在server2中安装http

yum install httpd -y

step2 配置—主机—server2

zabbix监控大屏看板 zabbix监控模版_模版


step3 模版—添加—Template App HTTP service—更新

zabbix监控大屏看板 zabbix监控模版_nginx_02


zabbix监控大屏看板 zabbix监控模版_mysql_03


step4 配置—模版—Template App HTTP service

zabbix监控大屏看板 zabbix监控模版_模版_04


step5 监控项—已启用

zabbix监控大屏看板 zabbix监控模版_模版_05

2.监控nginx服务

nginx监控项zabbix没有,需要自定义监控项

- 部署nginx服务

tar zxf nginx-1.16.1.tar.gz
cd nginx-1.16.1
yum install gcc pcre-devel zlib-devel -y
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
make && make install
cd /usr/local/nginx/
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
cd conf/
vim nginx.conf

        location /status {
                stub_status on;
                access_log off;	#关闭日志记录
                allow 127.0.0.1;	#只允许本机访问
                deny all;
        }
useradd -u 900 nginx
nginx
netstat -antlp | grep 80

zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_06


zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_07


注意:Nginx中的stub_status模块主要用于查看Nginx的一些状态信息。本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定:./configure –with-http_stub_status_module

测试:利用curl http://127.0.0.1/status访问nginx用来做测试

curl http://127.0.0.1/status
curl http://127.0.0.1/status | grep Active
curl -s http://127.0.0.1/status | grep Active
curl -s http://127.0.0.1/status | grep Active|awk '{print $3}'

zabbix监控大屏看板 zabbix监控模版_mysql_08


上面各个参数的解释:

Active connections:1 表示正在处理的活动连接数有多少个

server accepts handled requests

3 3 3

Reading: 0 Writing: 1 Waiting: 0

#server:表示nginx启动到现在共处理了多少个连接
#accepts:表示nginx启动到现在共成功创建了多少次握手. (备注:请求丢失数=握手数-连接数)
#handled requests:表示总共处理了多少次请求#Reading:为nginx读取到客户端的Header信息数
#Writing:为nginx返回给客户端的Header信息数#为nginx已经处理完正在等待下一次请求指令的驻留连接,在开启keep-alive的情况下

- 创建nginx监控项(nginx.active)

cd /etc/zabbix/zabbix_agentd.d/
ls
cp userparameter_mysql.conf userparameter_nginx.conf
vim userparameter_nginx.conf 
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active|awk '{print $3}'

systemctl restart zabbix-agent

zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_09


zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_10


zabbix-server端测试是否能拿到数据:

yum install zabbix-get-4.4.1-1.el7.x86_64.rpm -y
zabbix_get -s 172.25.254.3 -p 10050 -k "nginx.active"

- 在分布式监控平台添加监控项

step1 配置—主机—server3

zabbix监控大屏看板 zabbix监控模版_模版_11


step2 监控项—创建监控项

zabbix监控大屏看板 zabbix监控模版_mysql_12


step3 名称—键值—更新间隔—应用

zabbix监控大屏看板 zabbix监控模版_mysql_13


step4 主机—图形—创建图形

zabbix监控大屏看板 zabbix监控模版_nginx_14


step5 监控项添加—nginx_active—选择—添加

zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_15


zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_16


step6 配置—主机—server-2–图形—预览

zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_17


我们发现这里的字体是乱码,所以要进行修改:

下载字体到/usr/share/zabbix/fonts目录下,并替换defines.inc.php的字体:

mv simkai.ttf /usr/share/zabbix/assets/fonts/
cd /usr/share/zabbix/assets/fonts/
ls
cd /usr/share/zabbix/include/
vim defines.inc.php

zabbix监控大屏看板 zabbix监控模版_mysql_18


zabbix监控大屏看板 zabbix监控模版_模版_19


再次刷新页面,显示的字体就不是乱码了。等待一会,就会有数据

zabbix监控大屏看板 zabbix监控模版_模版_20

- 创建nginx监控项(nginx.accept)

curl -s http://127.0.0.1/status | awk NR==3
curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
ls
vim userparameter_nginx.conf 
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
systemctl restart zabbix-agent

zabbix监控大屏看板 zabbix监控模版_mysql_21


zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_22


zabbix-server端测试是否能拿到数据:

zabbix_get -s 172.25.254.3 -p 10050 -k "nginx.accept"

zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_23

- 在分布式监控平台添加监控项

step1 配置—主机—server3

step2 监控项—创建监控项

zabbix监控大屏看板 zabbix监控模版_mysql_24


step3 名称—键值—更新间隔—应用

zabbix监控大屏看板 zabbix监控模版_模版_25


step4 主机—图形—nginx_status

zabbix监控大屏看板 zabbix监控模版_模版_26


step5 监控项添加—nginx_accept—选择—添加

zabbix监控大屏看板 zabbix监控模版_模版_27


step6 配置—主机—server3—图形—预览

zabbix监控大屏看板 zabbix监控模版_mysql_28

3.监控zabbix server上的mysql服务

- 配置mysql

mkdir /var/lib/zabbix
mysqladmin -uzabbix -p123 -h 127.0.0.1 ping
mysqladmin -uzabbix -p123 -h 127.0.0.1 ping | grep -c alive
cd /var/lib/zabbix
vim .my.cnf
[mysql]
host = localhost
user = root
password = 123
socket = /var/lib/mysql/mysql.sock

[mysqladmin]
host = localhost
user = root
password = 123
socket = /var/lib/mysql/mysql.sock

systemctl restart zabbix-agent

zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_29

- 安装percona-zabbix模版

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
cd /var/lib/zabbix/percona/
cd templates/
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/	#拷贝userparameter_percona_mysql.conf文件到被监控的mysql服务器上
cd ..
cd scripts/
vim ss_get_mysql_stats.php.cnf	#由于percona的监控脚本是使用php写的,所以需要准备好php运行环境,将zabbix的数据库和密码写入php脚本中
<?php
$mysql_user = 'root';
$mysql_pass = '123';

systemctl restart zabbix-agent

zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_30

测试percona的脚本:

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gk	#测试脚本
cat /tmp/localhost-mysql_cacti_stats.txt	#查看监控项

zabbix监控大屏看板 zabbix监控模版_nginx_31

- 导入模板

step1 配置—模版—导入

zabbix监控大屏看板 zabbix监控模版_nginx_32


step2 选择导入模版路径—聚合图形—导入

zabbix监控大屏看板 zabbix监控模版_模版_33


step3 配置—主机—zabbix server

zabbix监控大屏看板 zabbix监控模版_nginx_34


step4 模版—更新—选择

zabbix监控大屏看板 zabbix监控模版_mysql_35


step5 配置—主机—zabbix server—图形—预览

zabbix监控大屏看板 zabbix监控模版_zabbix监控大屏看板_36

zabbix监控大屏看板 zabbix监控模版_mysql_37