简介
Zabbix 是一款功能强大的分布式开源监控系统,线上用的也比较多,个人感觉是cacti和nagios的整合,又天生自带分布式监控,大批量主机运维监控优势明显
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

Zabbix 通过 C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过SNMP方式采集数据
Server 端:通过收集SNMP和agent发送的数据,写入数据库(MySQL,ORACLE等),
再通过 php+apache 在
web 前端展示
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
Zabbix运行条件:
Server:Zabbix
Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低。
Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。
SNMP:支持各类常见的网络设备
一次完整的监控流程可以简单描述为:
Host Groups(设备组)->Hosts(设备)->Applications(监控项组)->Items(监控项)->Triggers(触发器)->Actions(告警动作)->Medias(告警方式)->User Groups(用户组)->Users(用户)
1. Zabbix5.0安装
1.1
关闭防火墙和selinux
关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0 # 设置临时关闭selinux
sed -i
's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #设置永久关闭selinux
reboot #重启

1.2
调整源


或者直接到这里去找:https://mirrors.tuna.tsinghua.edu.cn/
root用户下修改一下源地址:
cd /etc/yum.repos.d/
/bin/rm -rf
/etc/yum.repos.d/CentOS-Base.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i
's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#'
/etc/yum.repos.d/zabbix.repo
修改源文件vim /etc/yum.repos.d/zabbix.repo,将[zabbix-frontend]下的 enabled 改为 1
enabled=1
yum clean all && yum repolist

1.3
安装zabbix相关包

mount /dev/cdrom /mnt/cdrom/
yum install -y zabbix-server-pgsql
zabbix-agent2
yum install -y centos-release-scl
yum install -y zabbix-web-pgsql-scl
zabbix-nginx-conf-scl # 这里会报错

mv CentOS-SCLo-scl.repo
CentOS-SCLo-scl.repo.bak
mv CentOS-SCLo-scl-rh.repo
CentOS-SCLo-scl-rh.repo.bak
cat > CentOS-SCLo-scl-rh.repo <<
EOF
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
EOF

继续:
yum install -y zabbix-web-pgsql-scl
zabbix-nginx-conf-scl
yum install -y zabbix-sender
安装成功。
1.4
postgres用户下初始化DB
create user zabbix password 'test123';
create database zabbix owner zabbix;
grant all privileges on database zabbix to
zabbix;
\l zabbix

初始化zabbix库中的数据:
zcat
/usr/share/doc/zabbix-server-pgsql-5.0.44/create.sql.gz | psql zabbix

再次授权:
psql zabbix
grant all privileges on database zabbix to
zabbix;
grant all privileges on all tables in
schema public to zabbix;

创建好监控使用的账户密码权限:
CREATE USER zbx_monitor WITH PASSWORD
'zbx123456';
GRANT pg_monitor TO zbx_monitor;

root用户修改配置:
vim /etc/zabbix/zabbix_server.conf 将密码添加进去:test123
DBHost=localhost # 保持默认即可,如数据库非本机,改为DB的IP即可
DBName=zabbix
DBUser=zabbix
DBPassword=test123
DBPort=5432
PidFile=/run/zabbix/zabbix_server.pid
SocketDir=/tmp
修改zabbix_agent配置文件(被监控机都需要安装zabbix_agent,且需要更改此配置指向zabbix_server):
vim /etc/zabbix/zabbix_agent2.conf
被监控机只需要配置为zabbix服务器地址(如配置为127.0.0.1,192.168.245.101,权限zabbix_server本机):
PidFile=/tmp/ zabbix_agent2.pid
Server=192.168.245.101 #zabbix服务器地址
ServerActive=192.168.245.101 #zabbix服务器地址
Hostname=Zabbix server #与zabbix server一致
修改nginx配置
mkdir -p
/etc/opt/rh/rh-php72/php-fpm.d/
vim
/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf # 添加nginx,配置时区
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai

关闭selinux和防火墙
1.5
root用户启动zabbix并简单验证
cd /etc/opt/rh/rh-nginx116/nginx/
cp nginx.conf nginx.conf.bak
vim nginx.conf # 将里面的server部分删除,保留如下内容即可,这样才能使用到 zabbix的配置

启动服务:
systemctl stop zabbix-server zabbix-agent2
rh-nginx116-nginx rh-php72-php-fpm
systemctl start zabbix-server zabbix-agent2
rh-nginx116-nginx rh-php72-php-fpm &

查看日志:
tail -n 10
/var/log/zabbix/zabbix_server.log
检查服务运行情况 :
systemctl status zabbix-server

systemctl status zabbix-agent2

1.6
Zabbix错误日志查看
tail -f -n 200
/var/log/zabbix/zabbix_server.log
tail -f -n 200 /var/log/zabbix/zabbix_agent2.log
1.7
登录页面
http://192.168.245.101/setup.php
账户:Admin
密码:zabbix(区分大小写)






账户:Admin
密码:zabbix(区分大小写)


1.8
中文乱码解决
改为中文界面

查看图形监控时乱码:

find / -name fonts
cd /usr/share/zabbix/assets/fonts

mv graphfont.ttf graphfont.ttf.bak

打开windows的字体目录C:\Windows\Fonts,将"仿宋 常规"复制过去:

更名字体:
mv SIMFANG.TTF graphfont.ttf
systemctl restart zabbix-server.service
&

再刷新页面,已经显示中文了

至此,zabbix5.0安装结束,后续会再加入使用、监控、报警等方面的文章 。




