Zabbix 服务器安装
Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。
Zabbix 使用 MySQL、PostgreSQL 储存资料。Server 端基于 C语言、Web 前端则是基于 PHP 所编写的。Zabbix 可以使用多种方式监视。在被监视对象中如 Linux、Windows 中安装 Zabbix Agent 之后,可以监视 CPU 负荷、网络使用状况、硬盘容量等各种状态。而就算在监视对象中没有安装客户端,Zabbix 也可以经由 SNMP、TCP、ICMP检查,以及利用 IPMI、SSH、telnet 等方式对目标进行监视。另外,Zabbix 包含 XMPP 等各种 Item 警示功能。
CentOS 安装 Zabbix 服务端
1、安装软件源
yum -y install epel-release rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm # 如果国内服务器,可用阿里云的镜像服务进行加速 sed -i 's|repo.zabbix.com|mirrors.aliyun.com/zabbix|' /etc/yum.repos.d/zabbix.repo
2、安装 zabbix 服务端
yum clean all yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
3、数据库初始化(mysql数据库自行安装,这里不再体现)
mysql -uroot -p password mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password'; mysql> quit; zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
4、修改Zabbix相关配置文件
#配置数据库服务器IP sed -i 's|^# DBHost=.*|DBHost=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^DBHost=.*|DBHost=127.0.0.1|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^DBHost # 数据库名称 sed -i 's|^DBName=.*|DBName=zabbix|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^DBName # 数据库账号 sed -i 's|^DBUser=.*|DBUser=zabbix|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^DBUser # 数据库密码 sed -i 's|^# DBPassword=.*|DBPassword=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^DBPassword=.*|DBPassword=xxxxxxxxx|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^DBPassword # 修改监听端口 sed -i 's|^# ListenPort=.*|ListenPort=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^ListenPort=.*|ListenPort=10051|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^ListenPort # pinger 进程数,默认1 sed -i 's|^# StartPingers=.*|StartPingers=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^StartPingers=.*|StartPingers=10|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^StartPingers # 代理配置更新间隔,默认1小时 sed -i 's|^# ProxyConfigFrequency=.*|ProxyConfigFrequency=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^ProxyConfigFrequency=.*|ProxyConfigFrequency=600|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^ProxyConfigFrequency # 代理数据发送频率,默认1秒 sed -i 's|^# ProxyDataFrequency=.*|ProxyDataFrequency=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^ProxyDataFrequency=.*|ProxyDataFrequency=15|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^ProxyDataFrequency # 代理服务器进程 sed -i 's|^# StartProxyPollers=.*|StartProxyPollers=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^StartProxyPollers=.*|StartProxyPollers=2|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^StartProxyPollers # vmware 数据收集进程,默认未启用 sed -i 's|^# StartVMwareCollectors=.*|StartVMwareCollectors=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^StartVMwareCollectors=.*|StartVMwareCollectors=2|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^StartVMwareCollectors # 修改值缓存大小 默认8M sed -i 's|^# ValueCacheSize=.*|ValueCacheSize=|g' /etc/zabbix/zabbix_server.conf sed -i 's|^ValueCacheSize=.*|ValueCacheSize=16M|g' /etc/zabbix/zabbix_server.conf cat /etc/zabbix/zabbix_server.conf | grep ^ValueCacheSize
5、修改 php 环境
cp -n /etc/php.ini /etc/php.ini.mybak sed -i 's/^;date.timezone =.*/date.timezone = PRC/g' /etc/php.ini sed -i 's/^date.timezone =.*/date.timezone = PRC/g' /etc/php.ini cat /etc/php.ini | grep ^date.timezone # 关闭 X-Powered-By: PHP 头部信息 (可选) sed -i 's/^expose_php = On/expose_php = Off/g' /etc/php.ini cat /etc/php.ini | grep ^expose_php
6、修改 nginx 配置
修改 /etc/nginx/conf.d/zabbix.conf 中的 listen 和 server_name ,将需要的端口和域名填进去即可。
如果这台服务器为 zabbix 服务端专用的,也可以将 /etc/nginx/nginx.conf 中默认的 server 配置注释掉,然后将 /etc/nginx/conf.d/zabbix.conf 中的 listen 和 server_name 修改为如下:
server { listen 80 default_server; server_name _; root /usr/share/zabbix; index index.php; location = /favicon.ico { log_not_found off; } location / { try_files $uri $uri/ =404; } location /assets { access_log off; expires 10d; } location ~ /\.ht { deny all; } location ~ /(api\/|conf[^\.]|include|locale) { deny all; return 404; } location ~ [^/]\.php(/|$) { fastcgi_pass unix:/run/php-fpm/zabbix.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT /usr/share/zabbix; fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name; fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
7、启动服务并设置开机启动运行
# 启动服务 systemctl restart zabbix-server zabbix-agent nginx php-fpm # 设置开机自动运行 systemctl enable zabbix-server zabbix-agent nginx php-fpm
8、设置防火墙规则
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --permanent --add-port=10051/tcp firewall-cmd --reload
Zabbix 图形中汉字显示为乱码框框的处理办法
yum install google-noto-sans-simplified-chinese-fonts.noarch -y mv -n /etc/alternatives/zabbix-web-font /etc/alternatives/zabbix-web-font.mybak rm /etc/alternatives/zabbix-web-font -f ln -s /usr/share/fonts/google-noto/NotoSansSC-Regular.otf /etc/alternatives/zabbix-web-font
降低服务器内存占用
修改 /etc/php-fpm.d/zabbix.conf
pm.max_children = 8 pm.start_servers = 3 pm.min_spare_servers = 3 pm.max_spare_servers = 8
原文链接地址:https://blog.exsvc.cn/article/zabbix-server-install.html
转载请注明:转载自 易科博客 ,谢谢!