zabbix监控http、Nginx、Mysql、

前言:

zabbix的主要监控方式:

  • 1、Agent监控方式

    在Agent监控方式下,zabbix-agent会主动收集本机的监控信息并通过TCP协议与zabbix-server传递信息。Agent监控方式分为主动和被动模式。在被动模式下,zabbix-agent监听10050端口,等待zabbix-server的监控信息收集信息请求;在主动模式下,zabbix-agent收集监控信息并通过10050端口主动将数据传给zabbix-server所在服务器的10051端口。

  • 2、SNMP监控方式
    SNMP全称Simple Network Management Protocol,即网络管理协议,包括进程管理和被管理设备两部分。作为一种国际通用的网络管理协议被广泛的应用于各种交换机,路由器等网络设备的管理上,而现在也越来越多被用于对服务器的监控上。

  • 3、JMX监控方式
    JMX,全称Java Management Extensions,即Java管理拓展,是Java平台为应用程序,设备,系统等植入管理功能的框架。在zabbix中,JMX数据的获取由zabbix-java-gateway代理程序来负责数据的采集。

  • 4、Trapper监控方式
    Trapper监控方式使用zabbix-sender程序主动向zabbix-server发送数据。key的名称和发送的数据内容都可以灵活定义。发送的信息采用JSON格式,遵循zabbix-sender协议。可以自定义脚本利用zabbix-sender协议来zabbix-server发送信息。

  • 5、IPMI监控方式
    IPMI,全称Interlligent Platform Management Interface,即智能平台管理接口,原本是Intel架构中企业系统的周边设备所采用的一种工业标准,以后成为业界通用的标准。用户可以利用IPMI监控服务器的物理特性,如温度,电压,电扇工作状态,电源供应以及机箱***等指标。

一、zabbix监控http服务

server1172.25.75.1zabbix-server
server2172.25.75.2zabbix-agent、httpd

1、server2下载及开启服务

[root@server2 ~]# yum install -y httpd
[root@server2 ~]# systemctl start httpd
[root@server2 ~]# netstat -tnlp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      2237/httpd

2、server1端web配置

在这里插入图片描述
主机界面点击我们配置了http服务的server2。
在这里插入图片描述
首先添加httpd服务的模板。
在这里插入图片描述
点击更新。
在这里插入图片描述
我们点击server2的监控项,可以查看我们的http服务都监控了什么
在这里插入图片描述
可以看到它只是监控了server2的80端口,如果端口打开,则认为服务正常,我们知道这是不和情理的,在实际生产的环境中存在80端口没有问题,而服务出现故障的可能行。所以这种zabbix自带的服务监控,并不是符合我们的实际需要。
我们通过监控nginx服务,来告诉大家,怎么监控的更全面。

二、zabbix监控nginx服务

server3172.25.75.3zabbix-agent ngnix
server1172.25.75.1zabbix-server

我们的数据流向是: user–>web-ui–>zabbix-agent–>shell–>zabbix-server–>mysql–>web-ui

1、在server3上配置nginx服务

[root@server3 ~]# tar zxf nginx-1.16.0.tar.gz
[root@server3 ~]# vim nginx-1.16.0/auto/cc/gcc
# debug
# CFLAGS="$CFLAGS -g"
[root@server3 nginx-1.16.0]# yum install gcc pcre-devel zlib-devel
[root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server3 nginx-1.16.0]# make && make install

在这里插入图片描述
编辑nginx服务配置文件,启动服务

[root@server3 nginx-1.16.0]# cd /usr/local/nginx/conf/
[root@server3 conf]# vim nginx.conf
  2 user  nginx nginx;
  3 worker_processes  2;
 48         location /status {
 49             stub_status on;
 50             access_log off;
 51             allow 127.0.0.1;
 52             deny all;
 53         }
 [root@server3 conf]# useradd nginx
[root@server3 conf]# ../sbin/nginx -t
[root@server3 conf]# curl http://127.0.0.1/status

在这里插入图片描述
增加我们的已经请求数:(便于我们监控的直观)

[root@server3 conf]# ab -c 1 -n 1000 http://127.0.0.1/status
-bash: ab: command not found
[root@server3 conf]# yum install httpd -y
[root@server3 conf]# ab -c 1 -n 1000 http://127.0.0.1/status
[root@server3 conf]# curl http://127.0.0.1/status
Active connections: 1 
server accepts handled requests
 1002 1002 1002 
Reading: 0 Writing: 1 Waiting: 0

在这里插入图片描述

2、编辑我们的nginx监控项脚本

[root@server3 conf]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
# nginx.active为键值
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

在这里插入图片描述

3、在server1下载可以获得agent数据的安装包

[root@server1 ~]# ls zabbix-get-4.0.5-1.el7.x86_64.rpm 
zabbix-get-4.0.5-1.el7.x86_64.rpm
[root@server1 ~]# yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm

测试agent客户端配置情况:

[root@server1 ~]# zabbix_get -s 172.25.75.3 -p 10050 -k "nginx.active"
1
# 10050端口 -k 后面跟我们需要监控的键值

在这里插入图片描述
表明我们的agent端,配置没有问题。

4、web界面配置

在这里插入图片描述
点击我们需要配置的server3主机

在这里插入图片描述
点击监控项中的创建监控项
在这里插入图片描述
配置好名称(自定义)和键值(必须为我们server3文件中所写的键值)后,点击添加
在这里插入图片描述
点击图形界面的创建图形。
在这里插入图片描述
在这里插入图片描述
添加监控项和名称后,点击添加。
在这里插入图片描述
查看图形中的nginx_status点击预览。
在这里插入图片描述
可以看到,我们成功的监测到了活跃连接数这个变量,但是我们的字符集存在一些问题,所以图中的汉字显示为乱码。

5、配置zabbix的web界面的字符集

自定义字符集

[root@server1 ~]# ls simkai.ttf 
simkai.ttf
[root@server1 ~]# cp simkai.ttf /usr/share/zabbix/fonts/
[root@server1 ~]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ls
graphfont.ttf  simkai.ttf
:%s/graphfont/simkai/g 
[root@server1 fonts]# systemctl restart zabbix-server

web界面刷新:
在这里插入图片描述

6、添加其他监控项

1、更改server3的监控配置文件

vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

2、在zabbix-server端检测,agent端的配置

[root@server1 fonts]# zabbix_get -s 172.25.75.3 -p 10050 -k "nginx.accept"
1073

在这里插入图片描述

3、服务端的web界面配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在server3访问本机,增加访问数。

[root@server3 ~]# ab -c 1 -n 1000 http://127.0.0.1/status

在这里插入图片描述
查看浏览器配置:
在这里插入图片描述

三、zabbix监控Mysql服务

我们监控我们zabbix-server端Mysql服务

1、web界面配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、服务端配置

[root@server1 ~]# cd /var/lib/
[root@server1 lib]# mkdir zabbix
[root@server1 lib]# mysqladmin -uzabbix -predhat -h 127.0.0.1 ping | grep -c alive
1
[root@server1 lib]# cd zabbix/
[root@server1 zabbix]# vim .my.cnf
[root@server1 zabbix]# cat .my.cnf 
[mysql]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent

在这里插入图片描述

3、查看mysql的监控项

在这里插入图片描述
可以操作一下数据库,会更加的直观

[root@server1 zabbix]# mysql -uroot -p
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| zabbix             |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> use zabbix
MariaDB [zabbix]> show tables;
MariaDB [zabbix]> select * from users;

在这里插入图片描述
我们发现zabbix自带的mysql模板监控项还是不全面,我们可以自己导入自定义的模板。

4、导入自定义模板,实现对mysql的监控。

1、在server1配置percona-zabbix-templaters服务

[root@server1 ~]# ls percona-zabbix-templates-1.1.8-1.noarch.rpm 
percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
warning: percona-zabbix-templates-1.1.8-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:percona-zabbix-templates-1.1.8-1 ################################# [100%]

Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
[root@server1 ~]# cd /var/lib/zabbix/percona/
[root@server1 percona]# ls
scripts  templates
[root@server1 percona]# cd templates/
[root@server1 templates]# ls
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

在这里插入图片描述

[root@server1 scripts]# pwd
/var/lib/zabbix/percona/scripts
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php
[root@server1 scripts]# cp ss_get_mysql_stats.php ss_get_mysql_stats.php.cnf
[root@server1 scripts]# chmod 644 ss_get_mysql_stats.php.cnf 
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf 
[root@server1 scripts]# cat ss_get_mysql_stats.php.cnf 
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';
?>
[root@server1 scripts]# systemctl restart zabbix-agent

在这里插入图片描述
测试配置是否完成:

在这里插入图片描述

2、web端导入模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、对数据库操作后查看

[root@server1 scripts]# mysql -uroot -p
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> select * from users;

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值