Linux云计算架构-基于LAMP架构搭建zabbix4-4-6企业级监控系统

逃离我推掉我的手 2022-11-27 06:54 213阅读 0赞

文章目录

  • Linux云计算架构-基于LAMP架构搭建zabbix4-4-6企业级监控系统
      1. 搭建LAMP环境及安装依赖
      1. 安装zabbix4-4-6服务端及本地客户端
      1. 安装zabbix的web界面
      1. 设置中文和字体
      1. 监控远程主机
      1. 监控zabbix客户端磁盘剩余空间小于5G自动告警
      1. 使用grafana美化zabbix页面

Linux云计算架构-基于LAMP架构搭建zabbix4-4-6企业级监控系统

1. 搭建LAMP环境及安装依赖

  1. # yum快速部署LAMP环境
  2. [root@master ~]# yum install httpd mariadb mariadb-server php php-mysql -y
  3. # 安装zabbix所需php库
  4. [root@master ~]# yum install php-bcmath php-gd php-ldap php-mbstring php-xml -y
  5. # 服务端:zabbix-4.4.6.tar.gz
  6. # 客户端:zabbix-agent-4.4.6-1.el7.x86_64.rpm
  7. # http://repo.zabbix.com/zabbix/4.4/rhel
  8. # http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.6-1.el7.x86_64.rpm
  9. # 以上两个安装包,从网上很容易下载到本地。
  10. # 安装所需的rpm包都在zabbix-4.4.6.tar.gz里
  11. [root@master opt]# ll
  12. 总用量 10224
  13. -rw-r--r--. 1 root root 10029701 2 29 11:54 zabbix-4.4.6.tar.gz
  14. -rw-r--r--. 1 root root 438076 2 29 11:52 zabbix-agent-4.4.6-1.el7.x86_64.rpm
  15. # 解压zabbix-4.4.6.tar.gz,并以该目录配置一个本地yum源
  16. [root@master ~]# tar xzf /opt/zabbix-4.4.6.tar.gz -C /opt/
  17. [root@master ~]# cd /opt/zabbix4-4-6/
  18. [root@master zabbix4-4-6]# ll
  19. 总用量 10036
  20. -rw-r--r--. 1 root root 65788 2 29 11:52 dejavu-fonts-common-2.33-6.el7.noarch.rpm
  21. -rw-r--r--. 1 root root 1482820 2 29 11:52 dejavu-sans-fonts-2.33-6.el7.noarch.rpm
  22. -rw-r--r--. 1 root root 10116 2 29 11:52 fontpackages-filesystem-1.44-8.el7.noarch.rpm
  23. -rw-r--r--. 1 root root 41292 2 29 11:52 fping-3.10-1.el7.x86_64.rpm
  24. -rw-r--r--. 1 root root 219068 2 29 11:52 libevent-2.0.21-4.el7.x86_64.rpm
  25. -rw-r--r--. 1 root root 768380 2 29 11:52 net-snmp-libs-5.7.2-43.el7_7.3.x86_64.rpm
  26. -rw-r--r--. 1 root root 248708 2 29 11:52 OpenIPMI-2.0.27-1.el7.x86_64.rpm
  27. -rw-r--r--. 1 root root 535796 2 29 11:52 OpenIPMI-libs-2.0.27-1.el7.x86_64.rpm
  28. -rw-r--r--. 1 root root 16368 2 29 11:52 OpenIPMI-modalias-2.0.27-1.el7.x86_64.rpm
  29. drwxr-xr-x. 2 root root 4096 2 29 11:53 repodata
  30. -rw-r--r--. 1 root root 423152 2 29 11:52 unixODBC-2.3.1-14.el7.x86_64.rpm
  31. -rw-r--r--. 1 root root 438076 2 29 11:52 zabbix-agent-4.4.6-1.el7.x86_64.rpm
  32. -rw-r--r--. 1 root root 307352 2 29 11:52 zabbix-get-4.4.6-1.el7.x86_64.rpm
  33. -rw-r--r--. 1 root root 2599260 2 29 11:52 zabbix-server-mysql-4.4.6-1.el7.x86_64.rpm
  34. -rw-r--r--. 1 root root 3076048 2 29 11:52 zabbix-web-4.4.6-1.el7.noarch.rpm
  35. -rw-r--r--. 1 root root 10976 2 29 11:52 zabbix-web-mysql-4.4.6-1.el7.noarch.rpm
  36. # 配置本地yum源,用于安装zabbix的rpm包
  37. [root@master zabbix4-4-6]# vim /etc/yum.repos.d/zabbix.repo
  38. [root@master zabbix4-4-6]# cat /etc/yum.repos.d/zabbix.repo
  39. [zabbix4-4-6]
  40. name=zabbix4-4-6
  41. baseurl=file:///opt/zabbix4-4-6
  42. enabled=1
  43. gpgcheck=0

2. 安装zabbix4-4-6服务端及本地客户端

  1. # 解决zabbix依赖
  2. [root@master ~]# yum install OpenIPMI OpenIPMI-libs OpenIPMI-modalias unixODBC fping -y
  3. # 安装zabbix服务
  4. # zabbix-server-mysql 服务端
  5. # zabbix-web-mysql zabbix的web页面
  6. # zabbix-agent 客户端
  7. # zabbix-get 服务端和客户端之间的测试命令
  8. [root@master ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get -y
  9. # 启动mariadb数据库,禁用firewall,查看下mariadb是否启动
  10. [root@master ~]# systemctl start mariadb
  11. [root@master ~]# systemctl enable mariadb
  12. Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
  13. [root@master ~]# systemctl stop firewalld && systemctl disable firewalld
  14. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
  15. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  16. [root@master ~]# netstat -antup | grep mysqld
  17. tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 76623/mysqld
  18. # 配置zabbix数据库
  19. [root@master ~]# mysql -uroot
  20. Welcome to the MariaDB monitor. Commands end with ; or \g.
  21. Your MariaDB connection id is 3
  22. Server version: 5.5.65-MariaDB MariaDB Server
  23. Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
  24. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  25. MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
  26. Query OK, 1 row affected (0.00 sec)
  27. MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
  28. Query OK, 0 rows affected (0.00 sec)
  29. MariaDB [(none)]> flush privileges;
  30. Query OK, 0 rows affected (0.00 sec)
  31. MariaDB [(none)]> exit
  32. Bye
  33. # 导入zabbix自带的数据
  34. # zcat命令用于不解压就能显示压缩包中的文件
  35. [root@master ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.6/create.sql.gz | mysql -u zabbix -p zabbix
  36. Enter password: # 输入zabbix数据库的密码
  37. [root@master ~]# mysql -uzabbix -pzabbix
  38. Welcome to the MariaDB monitor. Commands end with ; or \g.
  39. Your MariaDB connection id is 6
  40. Server version: 5.5.65-MariaDB MariaDB Server
  41. Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
  42. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  43. MariaDB [(none)]> show databases;
  44. +--------------------+
  45. | Database |
  46. +--------------------+
  47. | information_schema |
  48. | test |
  49. | zabbix |
  50. +--------------------+
  51. 3 rows in set (0.00 sec)
  52. MariaDB [(none)]> use zabbix;
  53. Reading table information for completion of table and column names
  54. You can turn off this feature to get a quicker startup with -A
  55. Database changed
  56. MariaDB [zabbix]> show tables;
  57. # 有数据表就说明加载进去了
  58. # 修改zabbix服务端配置文件
  59. [root@master ~]# vim /etc/zabbix/zabbix_server.conf
  60. 91 DBHost=localhost # 数据库主机名
  61. 100 DBName=zabbix # zabbix数据库
  62. 116 DBUser=zabbix # 数据库用户zabbix
  63. 124 DBPassword=zabbix # zabbix数据库密码
  64. # 修改zabbix在http中的配置文件
  65. [root@master ~]# find / -name zabbix.conf
  66. /etc/httpd/conf.d/zabbix.conf
  67. [root@master ~]# vim /etc/httpd/conf.d/zabbix.conf
  68. 5 Alias /zabbix /usr/share/zabbix # 快捷访问,真实网站数据目录为/usr/share/zabbix
  69. 6
  70. 7 <Directory "/usr/share/zabbix">
  71. 8 Options FollowSymLinks
  72. 9 AllowOverride None
  73. 10 Require all granted
  74. 11
  75. 12 <IfModule mod_php5.c>
  76. 13 php_value max_execution_time 300
  77. 14 php_value memory_limit 128M
  78. 15 php_value post_max_size 16M
  79. 16 php_value upload_max_filesize 2M
  80. 17 php_value max_input_time 300
  81. 18 php_value max_input_vars 10000
  82. 19 php_value always_populate_raw_post_data -1
  83. 20 php_value date.timezone Asia/Shanghai # 修改时区
  84. 21 </IfModule>
  85. 22 </Directory>
  86. # 监控服务器本身
  87. [root@master ~]# vim /etc/zabbix/zabbix_agentd.conf
  88. 98 Server=127.0.0.1 # zabbix服务器ip
  89. 139 ServerActive=127.0.0.1 # zabbix服务器IP(主动模式:客户端主动发送数据给服务端)
  90. 150 Hostname=Zabbix server # 客户端主机名,与web内主机名一致
  91. 309 UnsafeUserParameters=1 # 支持自定义脚本
  92. # 重启zabbix服务端和客户端、httpd、mariadb数据库
  93. [root@master ~]# systemctl restart zabbix-server zabbix-agent httpd mariadb
  94. [root@master ~]# systemctl enable zabbix-server zabbix-agent httpd mariadb
  95. Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
  96. Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
  97. Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
  98. # 发现zabbix服务端没有启动
  99. [root@master ~]# netstat -antup | grep mysqld
  100. tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 77326/mysqld
  101. [root@master ~]# netstat -antup | grep httpd
  102. tcp6 0 0 :::80 :::* LISTEN 77092/httpd
  103. [root@master ~]# netstat -antup | grep zabbix
  104. tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 77095/zabbix_agentd
  105. tcp6 0 0 :::10050 :::* LISTEN 77095/zabbix_agentd
  106. [root@master ~]# netstat -antup | grep 10051
  107. # 查看zabbix服务端日志,最后记录是停止了,然后报错。
  108. [root@master ~]# tail /var/log/zabbix/zabbix_server.log
  109. 80718:20200813:221207.699 cannot start LLD manager service: Cannot bind socket to "/var/run/zabbix/zabbix_server_lld.sock": [13] Permission denied.
  110. # 上网搜了,说是selinux的问题。先临时设置为Permissive
  111. [root@master ~]# setenforce 0
  112. [root@master ~]# getenforce
  113. Permissive
  114. # 再次尝试开启,zabbix服务端终于起来了
  115. [root@master ~]# systemctl start zabbix-server
  116. [root@master ~]# netstat -antup | grep 10051
  117. tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 81972/zabbix_server
  118. tcp 0 0 127.0.0.1:10051 127.0.0.1:57390 TIME_WAIT -
  119. tcp6 0 0 :::10051 :::* LISTEN 81972/zabbix_server
  120. [root@master ~]# systemctl enable zabbix-server

3. 安装zabbix的web界面

输入网址:http://192.168.8.133/zabbix/setup.php
点击下一步
在这里插入图片描述
全都OK
在这里插入图片描述
输入mysql数据库信息
在这里插入图片描述
直接下一步
hijie
确认信息,下一步
在这里插入图片描述
点击完成即可
在这里插入图片描述

登录zabbix web,账号密码为Admin/zabbix
在这里插入图片描述
看到这个界面就表示已经安装好了。
在这里插入图片描述

4. 设置中文和字体

设置中文:
在这里插入图片描述
设置字体:
在这里插入图片描述

  1. # 上传字体文件
  2. [root@master ~]# cd /usr/share/zabbix/assets/fonts/
  3. [root@master fonts]# rz
  4. [root@master fonts]# ll
  5. 总用量 11512
  6. lrwxrwxrwx. 1 root root 33 8 13 21:48 graphfont.ttf -> /etc/alternatives/zabbix-web-font
  7. -rw-r--r--. 1 root root 11787328 8 9 2018 simkai.ttf
  8. [root@master fonts]# chown zabbix:zabbix simkai.ttf
  9. [root@master fonts]# vim /usr/share/zabbix/include/defines.inc.php
  10. # 修改zabbix默认使用的字体
  11. [root@master fonts]# vim /usr/share/zabbix/include/defines.inc.php
  12. 67 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
  13. 111 define('ZBX_FONT_NAME', 'simkai');
  14. # 重启httpd服务
  15. [root@master fonts]# systemctl restart httpd.service

刷新一下zabbix web
在这里插入图片描述

5. 监控远程主机

  1. # 上传zabbix客户端rpm包
  2. # 上传zabbix客户端rpm包
  3. [root@client ~]# ll /opt/zabbix-agent-4.4.6-1.el7.x86_64.rpm
  4. -rw-r--r--. 1 root root 438076 8 13 22:49 /opt/zabbix-agent-4.4.6-1.el7.x86_64.rpm
  5. # 安装zabbix客户端
  6. [root@client ~]# rpm -ivh /opt/zabbix-agent-4.4.6-1.el7.x86_64.rpm
  7. # 修改客户端配置文件
  8. [root@client ~]# vim /etc/zabbix/zabbix_agentd.conf
  9. 98 Server=192.168.8.133 # 服务端IP
  10. 139 ServerActive=192.168.8.133 # 服务端IP
  11. 150 Hostname=192.168.8.152 # 客户端主机名
  12. # 启动zabbix客户端
  13. [root@client ~]# systemctl restart zabbix-agent.service
  14. [root@client ~]# systemctl enable zabbix-agent.service
  15. Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.

在zabbix web配置客户端主机
添加主机:
在这里插入图片描述
填写远程主机信息:
在这里插入图片描述
选择监控模板“Template OS Linux by Zabbix agent”
在这里插入图片描述
发现有报错:
在这里插入图片描述

  1. # 解决报错
  2. Received empty response from Zabbix Agent at [192.168.8.152]. Assuming that agent dropped connection because of access permissions
  3. # 查看下zabbix客户端进程,正常路径是/usr/sbin/zabbix_agentd的,多出来一个/usr/local/zabbix/sbin/zabbix_agentd,原来是之前在这台主机上用源码包装过一次zabbix客户端,导致装的zabbix4-4-6的客户端无法被访问。
  4. [root@client ~]# ps -ef | grep zabbix

在这里插入图片描述
以下方式停掉的只是rpm包安装的zabbix,对于源码包的zabbix还在。
在这里插入图片描述
停掉源码包安装的zabbix
在这里插入图片描述
重新启动下rpm包安装的zabbix
在这里插入图片描述
刷新下zabbix web,可以看到已经可以正常监控了。
在这里插入图片描述

6. 监控zabbix客户端磁盘剩余空间小于5G自动告警

从下图可以看到,磁盘容量总共有17G,已用4.88G。并且使用饼图展示占比。如果想知道剩余磁盘空间的情况,并且对其进行监控,然后设定一个阈值,当磁盘空间低于这个阈值就会主动告警。这种情况要怎么设置呢?
在这里插入图片描述
①找到客户端使用的模板
在这里插入图片描述
②创建监控项
我这里仅为主机192.168.8.152创建监控项;【在生产中,可为模板创建监控项,然后多台远程客户端主机使用同一模板】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

  1. vfs.fs.size[/,free]
  2. # 可以使用以下方法查看键值是否可用
  3. [root@master ~]# zabbix_agentd -p | grep vfs.fs.size
  4. vfs.fs.size[/,free] [u|13840769024]
  5. # 看能否获取到对应远程主机的对应键值的数据
  6. [root@master ~]# zabbix_get -s 192.168.8.152 -p 10050 -k vfs.fs.size[/,free]
  7. 13001203712

③创建监控项对应的图形
在这里插入图片描述
为图形添加监控项
在这里插入图片描述
在这里插入图片描述
④查看监控图形数据
可以看到,已经可以监控远程客户端的剩余磁盘空间了。
在这里插入图片描述
⑤创建触发器用于告警
这里也是只为192.168.8.152创建触发器。
在这里插入图片描述
在这里插入图片描述
设定触发表达式:
在这里插入图片描述
设定恢复表达式:
在这里插入图片描述
触发器设置如下:watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjUyMjA5OQ_size_16_color_FFFFFF_t_70_pic_center 33
点击添加:
在这里插入图片描述
查看触发器情况:
在这里插入图片描述
总结:根据键值自定义监控项,为监控项创建图形展示,为监控项创建触发器告警。

7. 使用grafana美化zabbix页面

参考grafana美化zabbix监控
一点心得
搭建zabbix,要基于LAMP或者LNMP环境,并且zabbix与LAMP或LNMP架构最好都保持一致,即都用源码包安装或者都用rpm包安装。在生产环境中,对于没有部署mysql数据库或者web服务的服务器,用rpm包安装环境LAMP或LAMP环境,然后直接使用rpm包安装zabbix是比较高效快速的。而对于已经包含mysql数据库或者web服务,就要看mysql数据库和web服务是通过什么方式安装的了,如果是用源码包安装的,那相应的LAMP和LNMP架构和zabbix就得用源码包安装了。
以上就是zabbix4-4-6的部署及使用。感谢大家的关注!!!

发表评论

表情:
评论列表 (有 0 条评论,213人围观)

还没有评论,来说两句吧...

相关阅读