Zabbix:部署Zabbix 5.0 LTS
写在前面
- 关于监控的多样化与重要性,我就不介绍了,这里推荐一篇zabbix介绍的文章,我觉得这位大佬写的很nice。
- 官方文档:https://www.zabbix.com/documentation/5.0/zh/start
zabbix部署
-
当前环境。
0 16:22:06 root@zabbix,172.16.2.10:~ # cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
-
添加zabbix仓库源,并激活。
0 17:09:58 root@zabbix,172.16.2.10:~ # rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 0 17:11:42 root@zabbix,172.16.2.10:~ # yum clean all 0 17:12:17 root@zabbix,172.16.2.10:~ # vim /etc/yum.repos.d/zabbix.repo [zabbix-frontend] ... enabled=1 ...
-
安装zabbix组件。
0 17:12:17 root@zabbix,172.16.2.10:~ # yum -y install zabbix-server-mysql zabbix-agent centos-release-scl 0 17:14:03 root@zabbix,172.16.2.10:~ # yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
-
部署mysql,并创建对应zabbix库。
0 17:16:42 root@mysql-public,172.16.2.4:~ # mysql -uroot -p -S /server/data/mysql_3310/mysql.sock mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to 'zabbix'@'172.16.%' identified by 'password'; mysql> flush privileges; mysql> \q
-
导入sql文件。
# 默认sql文件在zabbix安装主机的/usr/share/doc/zabbix-server-mysql*/路径下,如果mysql是单独部署,则需要将sql文件拷贝到mysql主机再做导入。 0 17:30:32 root@mysql-public,172.16.2.4:~ # zcat create.sql.gz | mysql -uzabbix -p -h 172.16.2.4 -P 3310 zabbix
-
配置zabbix。
# 创建对应目录及文件。(/server是我数据盘) 0 14:06:30 root@zabbix,172.16.2.10:~ # mkdir -p /server/log/zabbix 0 14:06:40 root@zabbix,172.16.2.10:~ # touch /server/log/zabbix/zabbix_server.log 0 14:06:44 root@zabbix,172.16.2.10:~ # touch /server/log/zabbix/zabbix_agent.log 0 14:06:52 root@zabbix,172.16.2.10:~ # chown -R zabbix. /server/log/zabbix # 修改zabbix-server的配置 0 14:07:10 root@zabbix,172.16.2.10:~ # cp /etc/zabbix/zabbix_server.conf{,.bak} 0 14:07:18 root@zabbix,172.16.2.10:~ # vim /etc/zabbix/zabbix_server.conf # ListenPort=10051 # 监听端口,保持默认即可 # SourceIP= # 当server端有多个IP地址时,我们可以此选项指定服务端使用固定的IP与agent端进行通讯。 # LogType=file # 执行使用哪种方式记录日志,有三种方式:'system'表示将日志发往syslog,'file'表示使用指定的文件作为日志文件,'console'表示将日志发往控制台,默认为file。 LogFile=/server/log/zabbix/zabbix_server.log # 执行日志文件的位置 LogFileSize=200 # 指定日志文件达到多大时自动切割,单位为MB,设置为0代表不切割,所有日志保存在一个文件中。 # DebugLevel=3 # 指定日志级别,配置文件中有针对级别的说明,默认为3 PidFile=/var/run/zabbix/zabbix_server.pid # 指定PID文件的位置,此处指定PID文件后,手动将zabbix-server.service文件中的PID配置删除掉。 SocketDir=/var/run/zabbix # 指定存储socket的目录,从zabbix 3.4.0之后开始支持该参数。 DBHost=172.16.2.4 # 默认为localhost,当DB跟zabbix-server不在同一主机时,需要指定DB主机。 DBName=zabbix # 指定zabbix-server使用的DB库名 DBUser=zabbix # DB用户名 DBPassword=xxxxxxx # DB密码 DBPort=3310 # DB端口 # StartPollers=5 # 指定初始化时轮询的进程数量,启动的进程数越多,则服务端吞吐能力越强,对系统资源消耗越大。 Timeout=4 # 与agent,、SNMP设备或其它外部设备通信的超时时长(单位为秒)。根据网络和客户端具体状况调整此值,调大此值时,应考虑StartPollers参数是否也需要调大。 AlertScriptsPath=/usr/lib/zabbix/alertscripts # 自定义告警脚本的存放位置。 ExternalScripts=/usr/lib/zabbix/externalscripts # 外部脚本的存放位置 LogSlowQueries=3000 # 指定zabbix-server查询数据库所消耗的时间,单位是毫秒,1毫秒=0.001秒;超过该时间会记入日志。 StatsAllowedIP=172.16.0.0/20 # 指定允许访问zabbix-server的地址 # 修改时区为亚洲上海。 0 15:42:08 root@zabbix,172.16.2.10:~ # cp /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf{,.bak} 0 15:42:17 root@zabbix,172.16.2.10:~ # vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf listen.acl_users = apache,nginx php_value[date.timezone] = Asia/Shanghai # 修改nginx主配置文件。 0 14:22:35 root@zabbix,172.16.2.10:~ # vim /etc/opt/rh/rh-nginx116/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/opt/rh/rh-nginx116/log/nginx/error.log; pid /var/opt/rh/rh-nginx116/run/nginx/nginx.pid; events { worker_connections 1024; } http { include /etc/opt/rh/rh-nginx116/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/opt/rh/rh-nginx116/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/opt/rh/rh-nginx116/nginx/conf.d/*.conf; } # 修改nginx-zabbix配置文件,只修改如下部分。 0 14:23:15 root@zabbix,172.16.2.10:~ # vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf listen 8000; server_name 172.16.2.10; fastcgi_pass unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock; #fastcgi_pass 127.0.0.1:9000; # 也可以使用代理到9000端口的方式,看个人。
-
启动zabbix。
0 14:26:37 root@zabbix,172.16.2.10:~ # systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm 0 14:26:45 root@zabbix,172.16.2.10:~ # systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
-
图形化配置,浏览器输入http://IP:Port。如http://172.16.2.10:8000。
- 登录,默认用户Admin(大写A),默认密码:zabbix
写作不易,转载请注明出处,谢谢~~