返回列表 发帖

CentOS6.9编译安装Zabbix4.4.5

笺注:这是在 LNMP一键安装包(lamp_Apache2.4用户验证+phpMyAdmin) 的基础上进行的。


安装依赖软件包:
[root@Zabbix_server_01 ~]# yum -y install net-snmp-devel


编译安装Zabbix:
[root@Zabbix_server_01 ~]# find / -name mysql_config
/usr/local/mysql/bin/mysql_config

tar -zxvf zabbix-4.4.5.tar.gz
cd zabbix-4.4.5
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make install


配置数据库:( 使用数据库管理员root@localhost )
图片1.png
2020-12-21 13:21



创建库zabbix:
mysql> create database zabbix character set utf8 collate utf8_general_ci;


查看库zabbix的字符集:
mysql> show create database zabbix;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

笺注:库zabbix的字符集为 utf8_general_ci 



切换到库zabbix:
mysql> use zabbix;

导入Zabbix的表:
mysql> source /root/zabbix-4.4.5/database/mysql/schema.sql;
mysql> source /root/zabbix-4.4.5/database/mysql/images.sql;
mysql> source /root/zabbix-4.4.5/database/mysql/data.sql;



授权zabbix@localhost对库zabbix有完全控制的权限,密码:zabbix
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';


查看本地数据库用户zabbix@localhost的权限:
mysql> show grants for zabbix@localhost;
+---------------------------------------------------------------------------------------------------------------+
| Grants for zabbix@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY PASSWORD '*DEEF4D7D88CD046ECA02A80393B7780A63E7E789' |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'localhost'                                                    |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)



创建系统用户zabbix:
useradd -s /sbin/nologin zabbix

创建Zabbix的日志存放目录:
mkdir /usr/local/zabbix/logs

更改目录的属主、属组:
chown -R zabbix:zabbix /usr/local/zabbix



配置Zabbix本机的客户端:
[root@Zabbix_server_01 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
修改:
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf


配置Zabbix本机的服务端:
[root@Zabbix_server_01 ~]# vi /usr/local/zabbix/etc/zabbix_server.conf
修改:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
Timeout=4
LogSlowQueries=3000
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

备注:
[root@Zabbix_server_01 ~]# find / -name mysql.sock
/tmp/mysql.sock



启动Zabbix本机的客户端和服务端:
/usr/local/zabbix/sbin/zabbix_agentd
/usr/local/zabbix/sbin/zabbix_server

开机自动启动Zabbix本机的客户端和服务端:
echo '/usr/local/zabbix/sbin/zabbix_agentd' >> /etc/rc.local
echo '/usr/local/zabbix/sbin/zabbix_server' >> /etc/rc.local


检测Zabbix本机的客户端有没有在运行:(在运行时)
[root@Zabbix_server_01 ~]# ps -ef |grep zabbix_agentd |grep -v grep > /dev/null && echo $?
0

检测Zabbix本机的服务端有没有在运行:(在运行时)
[root@Zabbix_server_01 ~]# ps -ef |grep zabbix_server |grep -v grep > /dev/null && echo $?
0



######

创建基于域名的虚拟主机:
[root@Zabbix_server_01 ~]# lnmp vhost add
图片2.png
2020-12-21 13:24


图片3.png
2020-12-21 13:24


图片4.png
2020-12-21 13:25



基于域名的虚拟主机创建完成:
图片5.png
2020-12-21 13:25




复制Zabbix的Web应用程序至网站目录:
[root@Zabbix_server_01 ~]# cp -r /root/zabbix-4.4.5/frontends/php/* /home/wwwroot/zabbix.zhuohua.store





#########

Windows客户端做本地硬解析:
图片6.png
2020-12-21 13:25



在Windows客户端进行Web页面的安装:(建议使用Frefox浏览器)
http://zabbix.zhuohua.store
图片1.png
2020-12-22 23:14



根据提示,修改PHP配置文件:
图片2.png
2020-12-22 23:15


[root@Zabbix_server_01 ~]# find / -name php.ini
/usr/local/php/etc/php.ini

[root@Zabbix_server_01 ~]# vi /usr/local/php/etc/php.ini
修改:
max_input_time = 300
always_populate_raw_post_data = -1


保存好配置文件后,重启一下php-fpm:
lnmp restart
图片1.png
2022-8-14 17:00

备注:会顺带重启php-fpm


刷新页面,没有“Fail”的话,继续安装:
图片3.png
2020-12-22 23:15



这里只需要输入数据库用户zabbix@localhost的密码:
图片4.png
2020-12-22 23:15



这里保持默认:
图片5.png
2020-12-22 23:15



图片6.png
2020-12-22 23:16



来到这里会有问题:
图片7.png
2020-12-22 23:16


解决方法:
1. 下载文件;
2. 把文件复制到指定位置:
[root@Zabbix_server_01 ~]# cp zabbix.conf.php /home/wwwroot/zabbix.zhuohua.store/conf/zabbix.conf.php

3.点击“Finish”按键。



来到这里,点击“Finish”按键就完成安装了:
图片8.png
2020-12-22 23:16




Admin的登录密码默认为:zabbix
图片15.png
2020-12-21 13:29



Zabbix的主页:
图片16.png
2020-12-21 13:29



默认是英文的:
Administration》Users》Admin:
图片17.png
2020-12-21 13:29



设置用户Admin的语言为中文:
图片18.png
2020-12-21 13:30

笺注:还要点击本页面底下的“Update”按键。


用户Admin的语言变为中文了:
图片20.png
2020-12-21 13:30




配置》主机:
图片21.png
2020-12-21 13:31



默认就会监控Zabbix本机(Zabbix server):
图片22.png
2020-12-21 13:31



Zabbix本机自带的模板:
图片23.png
2020-12-21 13:31




查看Zabbix本机的自带图形:(监控项、触发器、图形都来源于所使用的模板)

监测》图形:

Zabbix本机的CPU使用率:
图片24.png
2020-12-21 13:32


图片25.png
2020-12-21 13:32


笺注:在这里可以看到图形界面上的中文出现乱码,这是因为Zabbix自身对中文简体的支持不完善,需要使用新的字体进行替换:
[root@Zabbix_server_01 ~]# find / -name "*.ttf"
/home/wwwroot/zabbix.zhuohua.store/assets/fonts/DejaVuSans.ttf
/root/zabbix-4.4.5/frontends/php/assets/fonts/DejaVuSans.ttf

手动上传新的字体:
[root@Zabbix_server_01 ~]# ls *.ttc
simsun.ttc

[root@Zabbix_server_01 ~]# mv -f simsun.ttc /home/wwwroot/zabbix.zhuohua.store/assets/fonts/DejaVuSans.ttf


接着,刷新一下页面就好了:
图片26.png
2020-12-21 13:33


图片27.png
2020-12-21 13:33




Zabbix本机的内存使用率:
图片28.png
2020-12-21 13:33


图片29.png
2020-12-21 13:33


图片30.png
2020-12-21 13:34




Zabbix本机的根分区使用情况:
图片31.png
2020-12-21 13:34


图片32.png
2020-12-21 13:34


可以看到根分区的大小、已使用量、使用率:
图片33.png
2020-12-21 13:34




第一块硬盘的读写速度:( sda: Disk read/write rates )
图片34.png
2020-12-21 13:35


图片35.png
2020-12-21 13:35


图片36.png
2020-12-21 13:35






############
############

实验中,Zabbix本机有两张物理网卡:
[root@Zabbix_server_01 ~]# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:2B:17:3A  
          inet addr:192.168.168.130  Bcast:192.168.168.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe2b:173a/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:51 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5724 (5.5 KiB)  TX bytes:29259 (28.5 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:2B:17:3A  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:1738 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2546 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:266490 (260.2 KiB)  TX bytes:2057899 (1.9 MiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:2B:17:44  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:420 (420.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:6106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:395616 (386.3 KiB)  TX bytes:395616 (386.3 KiB)



Zabbix本机的虚拟网卡( bond0 )的流量:
图片37.png
2020-12-21 13:36


图片38.png
2020-12-21 13:36


图片39.png
2020-12-21 13:36


单位:
bps: 比特/秒
Kbps: 千比特/秒
Mbps: 兆比特/秒



Zabbix本机的物理网卡( eth0 )的流量:
图片40.png
2020-12-21 13:37


图片41.png
2020-12-21 13:37


图片42.png
2020-12-21 13:37




Zabbix本机的物理网卡( eth1 )的流量:
图片43.png
2020-12-21 13:38


图片44.png
2020-12-21 13:38


图片45.png
2020-12-21 13:38




######

模板Template OS Linux by Zabbix agent会自动发现的关于网卡的触发器:
名称: Interface eth0: Link down
图片46.png
2020-12-21 13:38



模板Template OS Linux by Zabbix agent会自动发现的关于网卡的触发器:
名称: Interface eth1: Link down
图片47.png
2020-12-21 13:39




假如主机Zabbix server的其中一张物理网卡(eth1)突然不能用了,仪表板会如下图显示:(显示对应触发器的名称)
Interface eth1: Link down
图片48.png
2020-12-21 13:39


图片49.png
2020-12-21 13:40


备注:假如主机Zabbix server的网卡恢复正常,仪表板的告警会自动消失。





######
网卡(eth0)的发送流量的监控项:(来源于模板Template OS Linux by Zabbix agent)
名称: Interface eth0: Bits sent
键值: net.if.out["eth0"]
图片50.png
2020-12-21 13:40




创建自定义的网卡流量触发器:( 网卡(eth0)的发送流量大于8Kbps就告警 )
自定义触发器名称: Interface eth0 sent too much
图片51.png
2020-12-21 13:41


插入表达式: ( 监控项 Zabbix server: Interface eth0: Bits sent
图片52.png
2020-12-21 13:41


自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{Zabbix server:net.if.out["eth0"].last()}>8K
图片53.png
2020-12-21 13:42

笺注:这里的严重性自定义选择为严重

本页拖下去:
图片54.png
2020-12-21 13:42



至此,在监控项“Interface eth0: Bits sent”对应的图形“Interface eth0: Network traffic”上理应可以看到自定义的触发器了:(还会多了一条告警线)
图片55.png
2020-12-21 13:43


图片56.png
2020-12-21 13:43




假如主机Zabbix server的网卡(eth0)的发送流量大于8Kbps时,仪表板会如下图显示:(显示对应触发器的名称)
Interface eth0 sent too much
图片58.png
2020-12-21 13:44


图片59.png
2020-12-21 13:44


注释:在这里可以看到问题(触发器)的严重性为严重





######

修改主机名称:
图片60.png
2020-12-21 13:45



图片61.png
2020-12-21 13:45

修改为:
图片62.png
2020-12-21 13:45

笺注:还要点击本页面底下的“更新”按键。


主机名称更新成功:
图片63.png
2020-12-21 13:46



该主机的全部图形都会自动同步更新的:
图片64.png
2020-12-21 13:46


图片65.png
2020-12-21 13:46






############
############

在Zabbix服务器使用命令行,测试本机的指定进程是否处于运行状态:

[root@Zabbix_server_01 ~]# service httpd stop
stop apache...  done

[root@Zabbix_server_01 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k proc.num[httpd]
0


[root@Zabbix_server_01 ~]# service httpd start
start apache...  done

[root@Zabbix_server_01 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k proc.num[httpd]
6



############

在Zabbix服务器使用命令行,测试本机的指定监控TCP端口是否处于侦听状态:
(返回 0 - 未侦听;1 - 正在侦听)

[root@Zabbix_server_01 ~]# service httpd stop
stop apache...  done

[root@Zabbix_server_01 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k net.tcp.listen[80]
0


[root@Zabbix_server_01 ~]# service httpd start
start apache...  done

[root@Zabbix_server_01 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k net.tcp.listen[80]
1





#############
#############

自定义创建Zabbix的键值:

修改Zabbix服务器的Agent配置文件(配置Zabbix本机的客户端):
[root@Zabbix_server_01 ~]# find / -name zabbix_agentd.conf
/usr/local/zabbix/etc/zabbix_agentd.conf
/root/zabbix-4.4.5/conf/zabbix_agentd.conf


[root@Zabbix_server_01 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf

# UnsafeUserParameters=0
修改为:(启用该功能)
UnsafeUserParameters=1

接着插入:
UserParameter=command_1,df -hl |grep /$ |awk '{print $4}' |awk -F% '{print $1}'

UserParameter=command_2,mysql -u"zabbix" -p"zabbix" -h"localhost" -e"show variables like '%max_connections%'" |grep "max_connections"|awk '{print $2}'

UserParameter=command_3,mysql -u"zhuohua" -p"1234" -h"192.168.168.154" -e"show variables like '%max_connections%'" |tail -1 |awk '{print $2}'

如下图:(截图有省略)
图片2.png
2022-8-14 17:11



保存好配置文件后,重启一下Zabbix本机的客户端和服务端:
[root@Zabbix_server_01 ~]# pkill -9 -U zabbix
[root@Zabbix_server_01 ~]#
[root@Zabbix_server_01 ~]# /usr/local/zabbix/sbin/zabbix_agentd
[root@Zabbix_server_01 ~]# /usr/local/zabbix/sbin/zabbix_server
[root@Zabbix_server_01 ~]#



获取本机的根分区使用率:
[root@Zabbix_server_01 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_1
5
[root@Zabbix_server_01 ~]#


获取本机的MySQL的最大连接数:
[root@Zabbix_server_01 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_2
500
[root@Zabbix_server_01 ~]#


获取远程主机的MariaDB的最大连接数:
[root@Zabbix_server_01 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k command_3
151
[root@Zabbix_server_01 ~]#


笺注:
远程MariaDB服务器(IP 192.168.168.154),要先授权远程数据库用户zhuohua@'192.168.168.130'(密码1234),仅仅在使用IP地址192.168.168.130时可以进行访问,对所有库有完全控制的权限:
MariaDB [(none)]> grant all on *.* to zhuohua@'192.168.168.130' identified by '1234';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]>


远程数据库用户zhuohua@'192.168.168.130'的权限:
MariaDB [(none)]> show grants for zhuohua@'192.168.168.130';
+-------------------------------------------------------------------------------------------------------------------------------+
| Grants for zhuohua@192.168.168.130                                                                                            |
+-------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'zhuohua'@'192.168.168.130' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF' |
+-------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]>


远程主机的MariaDB的最大连接数:
MariaDB [(none)]> show variables like '%max_connections%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| extra_max_connections | 1     |
| max_connections       | 151   |
+-----------------------+-------+
2 rows in set (0.001 sec)

远程主机打开TCP 3306端口,可参考 使用Navicat远程管理MariaDB





相关文章:
CentOS6_通过脚本发送Zabbix告警邮件(使用新浪邮箱的465端口)

CentOS8编译安装Zabbix4.4.5

Linux下MySQL的备份和还原
使用Navicat远程管理MySQL
MySQL的字符集
MySQL的表的存储引擎

CentOS6使用Python3脚本备份站点(Zabbix)+crontab计划任务
Python3脚本管理Linux下的MySQL
Python3管理Linux的软件进程

进程
用户管理
CentOS6_网络基础(网卡bonding的配置)

返回列表