Zabbix 6.0 图文安装摆设解说---LNMP环境

打印 上一主题 下一主题

主题 647|帖子 647|积分 1941

简介

   Zabbix 重要有以下几个组件组成:
  Zabbix Server:Zabbix 服务端,是 Zabbix 的焦点组件。它负责接收监控数据并触发告警,还负责将监控数据长期化到数据库中。
  Zabbix Agent:Zabbix 客户端,摆设在被监控装备上,负责采集监控数据,采集后的数据发送给 Zabbix Server 处理惩罚。Zabbix Agent 现在有两个版本:Zabbix agent 和 Zabbix agent 2。前者是 C 语言开辟的,险些支持所有的主流平台。而后者是 Go 开辟的,长处包罗:能有效低沉 TCP 连接的数目;支持更高的并发;易于扩展。目的是替代 Zabbix agent ,现在只支持 Linux 和Windows 两个平台。
  Zabbix Proxy:取代 Zabbix Server 接收监控数据并进行预处理惩罚,预处理惩罚后的数据批量发送给 Zabbix Server,如许可减轻 Zabbix Server 的压力。
  Web 页面:可通过 Web 页面来管理和维护被监控装备的配置信息、查察监控数据、配置告警等。
  数据库:负责存储被监控装备的配置信息和监控数据。支持的数据库有:MySQL(Percona,MariaDB),Oracle,PostgreSQL,TimescaleDB for PostgreSQL,SQLite
  环境需求

数据库Mysql需要是8.0.x以上的版本,PHP不支持PHP8.0版本 ,详细信息可看–>官方文档
本文安装环境:Centos 7.4、 Nginx 1.20 、 Mysql 8.0.30、 PHP 7.2、 Zabbix-Server 6.0.1


摆设环境

关闭体系防火墙

  1. [root@zabbix-40 ~]# systemctl stop firewalld
  2. [root@zabbix-40 ~]# systemctl disable firewalld
  3. [root@zabbix-40 ~]# vim /etc/selinux/config
  4. SELINUX=disabled
复制代码
一、Mysql8.0.30 摆设

下载安装捆绑包,办理依赖相关问题,避免麻烦,CentOS7可以选择红帽企业版7的包–>下载地址
  1. [root@zabbix-40 ~]# cd /usr/local/src/
  2. [root@zabbix-40 /usr/local/src]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
  3. # 解压
  4. [root@zabbix-40 /usr/local/src]# tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
  5. # 忽略依赖检查强制安装,因为捆绑包里已经带依赖了,所以只要全部安装就可以,检查的话分先后顺序很麻烦的
  6. [root@zabbix-40 /usr/local/src]# sudo rpm -ivh mysql-community-*  --force --nodeps
  7. #创建数据存储目录
  8. [root@zabbix-40 ~]# mkdir -p /data/mysql
  9. [root@zabbix-40 ~]# chown mysql:mysql /data/mysql
  10. #修改配置文件
  11. [root@zabbix-40 ~]# vim /etc/my.cnf
  12. [root@zabbix-40 ~]# cat /etc/my.cnf
  13. [mysqld]
  14. datadir=/data/mysql
  15. socket=/var/lib/mysql/mysql.sock
  16. log-error=/var/log/mysqld.log
  17. pid-file=/var/run/mysqld/mysqld.pid
  18. character-set-server=utf8mb4
  19. collation-server=utf8mb4_general_ci
  20. port=3306
  21. lower_case_table_names=1
  22. max_connections=500
复制代码
启动数据库
  1. #先查看libaio包是否有安装(安装了则不用管,未安装可能出现启动失败缺包的情况)
  2. #我这里使用的是aliyun的yum源(需要的可以在文档最底部查看)
  3. [root@zabbix-40 ~]# yum install libaio
  4. [root@zabbix-40 ~]# systemctl enable mysqld
  5. [root@zabbix-40 ~]# systemctl start mysqld
  6. #启动失败的话可以查看日志 /var/log/mysqld.log
复制代码
获取密码登录Mysql
  1. [root@zabbix-40 /data]# cat /var/log/mysqld.log | grep password
  2. 2022-12-15T09:31:52.061965Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: z-Tp1q+/8J.7
  3. [root@zabbix-40 /data]# mysql -uroot -pz-Tp1q+/8J.7
  4. mysql> alter user 'root'@'localhost' identified by 'Oyst@655';
  5. mysql> flush privileges;
  6. #由于MySQL8.0 有密码验证组件,若希望设置简单的密码,需要修改服务验证条件
  7. # 密码检查等级,0/LOW、1/MEDIUM、2/STRONG
  8. mysql> set global validate_password.policy=0;
  9. # 密码的最短长度
  10. mysql> set global validate_password.length=6;
  11. # 密码至少要包含的小写字母个数和大写字母个数
  12. mysql> set global validate_password.mixed_case_count=0;
  13. #创建zabbix库(这里zabbix对库的编码格式有需求)
  14. mysql> create database zabbix character set utf8 collate utf8_bin;
  15. #创建用户(指定使用的身份验证插件)
  16. mysql> create user 'zabbix'@'localhost' identified with mysql_native_password by '123123';
  17. mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
  18. mysql> flush privileges;
复制代码


二、nginx 摆设

  1. [root@zabbix-40 ~]# rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.0-1.el7.ngx.x86_64.rpm
  2. [root@zabbix-40 ~]# mkdir /data/web
  3. [root@zabbix-40 ~]# mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
  4. #修改nginx的配置文件,要修改的主要是server{} ,也可以复制过去直接覆盖原来的配置文件
  5. [root@zabbix-40 /etc/nginx]# vim /etc/nginx/nginx.conf
  6. user  nginx;
  7. worker_processes  auto;
  8. error_log  /var/log/nginx/error.log notice;
  9. pid        /var/run/nginx.pid;
  10. events {
  11.     worker_connections  1024;
  12. }
  13. http {
  14.     include       /etc/nginx/mime.types;
  15.     default_type  application/octet-stream;
  16.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  17.                       '$status $body_bytes_sent "$http_referer" '
  18.                       '"$http_user_agent" "$http_x_forwarded_for"';
  19.     access_log  /var/log/nginx/access.log  main;
  20.     sendfile        on;
  21.     #tcp_nopush     on;
  22.     keepalive_timeout  65;
  23.     #gzip  on;
  24.     server {
  25.       listen       80;
  26.       server_name  localhost;
  27.       root         /data/web;
  28.       location / {
  29.         index  index.php index.html index.htm;
  30.       }
  31.       location ~ \.php$ {
  32.         fastcgi_pass   127.0.0.1:9000;
  33.         fastcgi_index  index.php;
  34.         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  35.         include        fastcgi_params;
  36.       }
  37.     }
  38. }
  39. [root@zabbix-40 ~]# systemctl  enable nginx
  40. [root@zabbix-40 ~]# systemctl  start nginx
  41. #验证端口(能看到nginx的 80 端口开始监听了)
  42. [root@zabbix-40 ~]# netstat -ntlp
  43. Proto Recv-Q  Send-Q   Local Address   Foreign Address      State        PID/Program name
  44. tcp    0       0       0.0.0.0:80      0.0.0.0:*            LISTEN      2507/nginx: master  
复制代码
三、PHP 摆设

  1. [root@zabbix-40 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  2. [root@zabbix-40 ~]# yum -y install epel-release
  3. [root@zabbix-40 ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  4. [root@zabbix-40 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  5. #webtatic源,一个web服务的源
  6. #安装php7及其它依赖软件
  7. [root@zabbix-40 ~]# yum -y install gcc gcc-c++ php72w-cli php72w-fpm php72w-gd php72w-mbstring php72w-bcmath php72w-xml php72w-ldap php72w-mysqlnd
  8. [root@zabbix-40 ~]# vim /etc/php.ini
  9. 368:max_execution_time = 300
  10. 378:max_input_time = 300
  11. 656:post_max_size = 16M
  12. [root@zabbix-40 ~]# cd /data/web/
  13. [root@zabbix-40 ~]# vim index.php   #创建php测试页面
  14. <?php
  15. phpinfo();
  16. ?>
  17. [root@zabbix-40 ~]# systemctl  enable php-fpm
  18. [root@zabbix-40 ~]# systemctl  start php-fpm
  19. #验证端口(能看到php的 9000 端口开始监听了)
  20. [root@zabbix-40 ~]# netstat -ntlp
  21. Proto Recv-Q  Send-Q   Local Address      Foreign Address      State        PID/Program name
  22. tcp    0      0        127.0.0.1:9000       0.0.0.0:*          LISTEN      8450/php-fpm: maste
复制代码
这里可以使用欣赏器验证一下Nginx和PHP(内网中直接输入IP)

#到这里能访问到这个PHP的页面的话就代表你的nginx和php配置都是正常的,离胜利只差一丢丢了
nginx的配置我是直接配在 nginx.conf 中,需要配置在conf.d中的话可以自行研究哈
四、zabbix-server 摆设

  1. #创建用户
  2. [root@zabbix-40 ~]# groupadd zabbix
  3. [root@zabbix-40 ~]# useradd -g zabbix -M -s /sbin/nologin zabbix
  4. #下载安装
  5. [root@zabbix-40 ~]# cd /usr/local/src
  6. [root@zabbix-40 /usr/local/src]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.1.tar.gz
  7. [root@zabbix-40 /usr/local/src]# tar -xf zabbix-6.0.1.tar.gz
  8. [root@zabbix-40 /usr/local/src]# cd zabbix-6.0.1/
  9. #安装依赖
  10. [root@zabbix-40 /usr/local/src/zabbix-6.0.1]# yum -y install  mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel   libcurl-devel
  11. #编译安装
  12. [root@zabbix-40 /usr/local/src/zabbix-6.0.1]# ./configure --sysconfdir=/etc/zabbix --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
  13. [root@zabbix-40 /usr/local/src/zabbix-6.0.1]# make install
  14. #修改配置文件(前面的数字代表的是要修改属性字段的行数 例如 12:)
  15. [root@zabbix-40 ~]# vim /etc/zabbix/zabbix_server.conf
  16. [root@zabbix-40 ~]# grep -n '^[a-Z]' /etc/zabbix/zabbix_server.conf
  17. 12:ListenPort=10051
  18. 38:LogFile=/tmp/zabbix_server.log
  19. 87:DBHost=localhost
  20. 99:DBName=zabbix
  21. 115:DBUser=zabbix
  22. 123:DBPassword=123123
  23. 507:Timeout=4
  24. 593:LogSlowQueries=3000
  25. 708:StatsAllowedIP=127.0.0.1
  26. #向数据库中导入zabbix的库表及数据(注意导入的顺序)
  27. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/schema.sql
  28. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/images.sql
  29. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/data.sql
  30. #移动zabbix前端页面到网站根目录
  31. [root@zabbix-40 ~]# cp -rp /usr/local/src/zabbix-6.0.1/ui/* /data/web/
  32. cp:是否覆盖"/data/web/index.php"? y
  33. #配置zabbix系统启停命令(注意这个文件是新增的)
  34. [root@zabbix-40 ~]# vim /usr/lib/systemd/system/zabbix-server.service
  35. [Unit]
  36. Description=Zabbix Server with MySQL DB
  37. After=syslog.target network.target mysqld.service
  38. [Service]
  39. Type=simple
  40. ExecStart=/usr/local/sbin/zabbix_server -f
  41. User=zabbix
  42. [Install]
  43. WantedBy=multi-user.target
  44. #重新加载system文件
  45. [root@Zabbix mysql]# systemctl daemon-reload
  46. [root@Zabbix mysql]# systemctl enable zabbix-server
  47. Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix.service.
  48. [root@Zabbix mysql]# systemctl start zabbix-server
复制代码
五、Web端初始化


  • 输入IP直接跳转至zabbix网页端

    1.1 这一步如果无法跳转到zabbix的ui界面可以去查察 /etc/nginx/ 和 /etc/nginx/conf.d/ 目录下 .conf 结尾的配置文件配置的转发地址以及端口80是否启动与被占用
  • 这里已经调解过PHP的配置文件,如果还有问题的可以编辑/etc/php.ini ,调解对应字段的值即可

  • 配置DB连接

3.1 服务器请求客户端未知的身份验证方法。

缘故起因:由于Mysql 8 默认创建用户的身份验证插件是 caching_sha2_password,以是我我们在创建zabbix用户时需要指定身份验证插件为mysql_native_password。
  1. #解决办法
  2. mysql> drop user zabbix@localhost;
  3. mysql> create user 'zabbix'@'localhost' identified with mysql_native_password by '123123';
  4. mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
  5. mysql> flush privileges;
复制代码
3.2 无法确定当前 Zabbix 数据库版本: 找不到表“ dbversion”。

缘故起因:没有将zabbix需要的表导入到mysql中
  1. #解决办法
  2. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/schema.sql
  3. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/images.sql
  4. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/data.sql
复制代码
3.3 不支持表的字符集或排序规则

缘故起因:创建zabbix库的时间需要指定编码方式(和第一个问题相似)
  1. #解决办法
  2. mysql> drop database zabbix;
  3. mysql> create database zabbix character set utf8 collate utf8_bin;
  4. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/schema.sql
  5. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/images.sql
  6. [root@zabbix-40 ~]# mysql -uzabbix -p123123 zabbix < /usr/local/src/zabbix-6.0.1/database/mysql/data.sql
复制代码

  • 这里自定义Zabbix主机名称即可


  • 安装

    要么就下载配置文件然后上传然后授权给zabbix即可
    要么就是如下操纵:
  1. [root@zabbix-40 ~]# cp /data/web/conf/zabbix.conf.php.example /data/web/conf/zabbix.conf.php
  2. [root@zabbix-40 ~]# chown zabbix:zabbix /data/web/conf/zabbix.conf.php
  3. [root@zabbix-40 ~]# vim /data/web/conf/zabbix.conf.php
  4. #只修改PASSWORD的密码
  5. $DB['PASSWORD']                        = '123123';
复制代码

默认账号密码:Admin zabbix

六、办理zabbix 6.0 中文乱码问题

将windows的 C:\Windows\Fonts 路径下将楷体的ttf文件复制到linux的 /data/web/assets/fonts 目录下,
  1. #目录下有simkai.ttf这个新上传的文件
  2. [root@zabbix-40 ~]# ll /data/web/assets/fonts
  3. 总用量 12252
  4. -rw-r--r-- 1 zabbix zabbix   756072 2月  28 2022 DejaVuSans.ttf
  5. -rw-r--r-- 1 root   root   11787328 12月 19 16:57 simkai.ttf
  6. #替换配置文件中的默认字体
  7. [root@zabbix-40 ~]# sed -i 's/DejaVuSans/simkai/g' /data/web/include/defines.inc.php
  8. #如果这里之前是修改了网页路径的话,到自己的路径下找include/defines.inc.php即可
复制代码
记录一下还有一个可能发送的乱码问题(主机重定名时带有中文的时间无法见效)
Zabbix不支持主机名中存在中笔墨符的,要让zabbix主机名支持中文,需要修改zabbix的php配置文件
  1. [root@zabbix-40 ~]# vim /data/web/include/defines.inc.php
  2. #将下面的字段(大概在1198 行)
  3. define('ZBX_PREG_INTERNAL_NAMES', '([0-9a-zA-Z_\. \-]+)');
  4. 改成
  5. define('ZBX_PREG_INTERNAL_NAMES', '([0-9a-zA-Z_\. \-\x{80}-\x{ff}]+)');
  6. #改完重启一些zabbix-server
  7. [root@zabbix-40 ~]# systemctl restart zabbix-server
复制代码
阿里云的源可以查察个人主页中的zabbix-agent 快速摆设文章–>链接

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表