centos7 部署 zabbix4
有好几年没碰zabbix了。并且手里也没有zabbix相关的笔记记录,所以就写一篇这个留着以后用。。
安装zabbix-server
参考:https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos
基础配置
## 关闭防火墙和selinux
systemctl stop firewalld.service
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 配置base yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 配置zabbix yum源
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# 使用清华源加速 zabbix
sed -i -e s'/repo.zabbix.com/mirrors.tuna.tsinghua.edu.cn\/zabbix/' -e s'/gpgcheck=1/gpgcheck=0/' -e s'/http/https/' zabbix.repo
开始安装zabbix server
# 安装所需包
yum -y install zabbix-server zabbix-server-mysql zabbix-web-mysql mariadb-server
# 初始化数据库
systemctl start mariadb
systemctl enable mariadn
# init 全部y
mysql_secure_installation
mysql -uroot -p123456 -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -uroot -p123456 -e 'grant all on zabbix.* to zabbix@localhost identified by "123456";'
mysql -uroot -p123456 -e 'flush privileges;'
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix
# zabbix-server配置文件
cat > /etc/zabbix/zabbix_server.conf <<EOF
#服务端口
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
#日志达到多少M就轮转;若此参数值为0时,则不轮转,日志将不断变大,建议设置成轮转。
LogFileSize=10
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=123456
#指定StartSNMPTrapper日志路径
SNMPTrapperFile=/tmp/zabbix_traps.tmp
#是否打开StartSNMPTrapper功能
StartSNMPTrapper=1
#轮训进程数,主动模式减少该值,
StartPollers=20
#处理agent推送数据的进程数,主动模式加大该值
StartTrappers=150
StartDiscoverers=30
#自动发现进程数,有一些自动发现的监控项,也增加该值
#pre-forked监控项计时器
StartTimers=10
#历史数据清理时长,默认1小时,
HousekeepingFrequency=1
#每次删除历史数据的条数,默认5000调小该值,减少IO慢查询
MaxHousekeeperDelete=500
#zabbix初始化时占用多少系统共享内存用于存储配置信息
CacheSize=256M
#zabbix更新操作系统CACHE配置,若管理页面操作不频繁,可以考虑加大参数值
CacheUpdateFrequency=75
#数据同步到数据库的线程
StartDBSyncers=30
#用于设置划分多少系统共享内存用于存储采集的历史数据,此数值越大,数据库读压力越小
HistoryCacheSize=64M
#用于索引历史缓存中历史数据的共享内存大小.
HistoryIndexCacheSize=16M
#缓存item历史数据请求的共享内存大小.
ValueCacheSize=128M
#agent,SNMP设备或外部检查的超时时长(单位秒)
Timeout=30
#当检测到主机不可用时,设置多少秒将它设置为不可达
UnreachablePeriod=120
#用于服务端数据库慢查询功能,单位是毫秒;1毫秒=0.001秒,若有服务端数据库监控慢查询的需求,可以视具体情况调整此数。
LogSlowQueries=3000
#告警脚本目录
AlertScriptsPath=/usr/lib/zabbix/alertscripts
#外部脚本目录
ExternalScripts=/usr/lib/zabbix/externalscripts
[root@master001 ~]#
EOF
# 启动zabbix-server服务
systemctl restart zabbix-server
systemctl enable zabbix-server
# 配置zabbix-web
sed -i s'/.*date.timezone.*/\tphp_value date\.timezone Asia\/Shanghai/' /etc/httpd/conf.d/zabbix.conf
# 还有一处在php.ini date.timezone = Asia/Shanghai
sed -i '/^date.timezone/d' /etc/php.ini
sed -i '/^; date.timezone.*/a\date.timezone = Asia/Shanghai' /etc/php.in
systemctl restart httpd
systemctl enable httpd
访问zabbix页面进行初始化配置
http://127.0.0.1/zabbix/setup.php
一直下一步 出现配置数据库页面,填写好Password 点击下一步
输入name后点击下一步
确认配置
完成
- 默认登录账号密码:Admin zabbix
安装agent
基础配置
## 关闭防火墙和selinux
systemctl stop firewalld.service
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 配置base yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 配置zabbix yum源
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# 使用清华源加速 zabbix
# sed -i -e s'/repo.zabbix.com/mirrors.tuna.tsinghua.edu.cn\/zabbix/' -e s'/gpgcheck=1/gpgcheck=0/' -e s'/http/https/' zabbix.repo
安装配置
# 安装
yum install zabbix-agent -y
# 配置agent
Server='master001'
ServerActive='master001'
Hostname=`hostname`
cat > /etc/zabbix/zabbix_agentd.conf <<EOF
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
#当日志文件达到多大时进行轮询操作
LogFileSize= 1
#日志信息级别
DebugLevel=3
#zabbix agent监听的端口
ListenPort=10050
#zabbix agent监听的ip地址
ListenIP=0.0.0.0
#zabbix server的ip地址或主机名,可同时列出多个,需要用逗号隔开
Server=$Server
#主动检查地址 如果设置为空或者注释,就代表关闭zabbix agent的主动模式
ServerActive=$ServerActive
#在zabbix server前端配置时指定的主机名要相同,最重要的配置
Hostname=$Hostname
#是否允许zabbix server端的远程指令,
EnableRemoteCommands=1
#是否开启日志记录shell命令作为警告 0表示不允许,1表示允许
LogRemoteCommands=0
#zabbix agent数据缓冲区的大小,当达到该值便会发送所有的数据到zabbix server
BufferSize=100
#设定处理超时的时间
Timeout=30
#包含子配置文件的路径
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#指定用户自定义参数
#UserParameter=
EOF
# 启动服务
systemctl restart zabbix-agent
systemctl enable zabbix-agent
页面添加主机
Configuration
--Hosts
--Create host
填写IP和信息,
选择一个模板
完成
附录
mysql 连接数不够
zabbix server 报错 connection to database 'zabbix' failed: [1040] Too many connections
原因是数据库连接数太小了,所以修改如下
-
调整mariadb 启动文件
# /usr/lib/systemd/system/mariadb.service service下添加如下两行 [Service] LimitNOFILE=10000 LimitNPROC=10000
-
调整my.cnf
# /etc/my.cnf mysqld下添加 max_connections [mysqld] max_connections=4096
-
重启mysql
systemctl restart mariadb
-
验证
# mysql -uroot -p123456 -e 'show variables like "max_connections";' +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 4096 | +-----------------+-------+
zabbix设置中文字体
上传宋体文件simsun.ttf
到/usr/share/fonts/dejavu/
目录下
# 更换中文字体
rm -f /etc/alternatives/zabbix-web-font
ln -s /usr/share/fonts/dejavu/simsun.ttf /etc/alternatives/zabbix-web-font
本文来自博客园,作者:La0jin,转载请注明原文链接:https://www.cnblogs.com/la0jin/p/15027584.html