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

原因是数据库连接数太小了,所以修改如下

  1. 调整mariadb 启动文件

    # /usr/lib/systemd/system/mariadb.service service下添加如下两行
    [Service]
    LimitNOFILE=10000
    LimitNPROC=10000
    
  2. 调整my.cnf

    # /etc/my.cnf mysqld下添加 max_connections
    [mysqld]
    max_connections=4096
    
  3. 重启mysql

    systemctl restart mariadb
    
  4. 验证

    # 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
posted @ 2021-07-18 20:17  La0jin  阅读(83)  评论(0编辑  收藏  举报