Zabbix架构
zabbix-server:核心服务器、接收监控数据、转发数据
zabbix-agent:部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server
zabbix-UI:zabbix美化的图形操作平台,基于PHP开发了这个web平台页面
zabbix-proxy:分布式监控系统
Zabbix部署全流程
1.部署yum仓库
https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/
#安装zabbix.repo仓库文件
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
#修改zabbix仓库软件源为清华源:
sed -i 's#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo
sudo sed -i.bak 's/http:\/\/.*.ubuntu.com/http:\/\/mirrors.aliyun.com/g' /etc/apt/solrces.list #ubuntu修改软件源为阿里云命令
#安装zabbix-server服务端以及数据库
#zabbix-server-mysql 以mysql作为存储开发的zabbix.server服务端程序
#zabbix-web-mysql php核心程序,zabbix-UI页面,也是以mysql为存储
#zabbix-agent 采集客户端的核心程序
#mariadb-server 安装mysql服务端程序
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
#启动mysql,且创建用户,待会儿用于和zabbix链接,以及创建zabbix库,存储数据。
#启动mariadb数据库,设置开机启动
systemctl start mariadb && systemctl enable mariadb
#设置mariadb数据库,创建zabbix库,存储监控数据,且创建账号
mysqladmin password lushao
mysql -uroot -plushao -e 'create datebase zabbix character set utf8 collate utf8_bin;'
#创建用户账号,zabbix密码是123456,给予权限是,zabbix这个用户对于zabbix这个库下的所有表都是最大权限
mysql -uroot -plushao -e "grant all privlleges on zabbix.* to zabbix@localhost identified by 'lushao';"
#查看库是否建好了
mysql -uroot -pushao -e "show databases;"
#导入zabbix服务端的数据库内容
#用zcat直接读取gz压缩包的数据,且管道符交给mysql命令往zabbix库中导入数据
zcat /usr/share/doc/zabbix-server-mysql-4.0.42/create.sql.gz | mysql -uroot -plushao zabbix
#技巧,查找命令来自于哪个软件包,便于你去安装
PS:yum provides zcat
yum install gzip -y
#修改zabbix-server服务端配置文件,指明子的ip,便于agent去链接
#找出这个文件中以大写和小写开头的行,也就是找出有内容的行,去掉#开头的注释(grep "^[a-Z]" /etc/zabbix/zabbix_server.conf)
#配置文件不能写中文
grep "^[a-Z]" /etc/zabbix/zabbix_server.conf #改成cat > /etc/zabbix/zabbix_server.conf <<'EOF'(覆盖zabbix_server.conf配置文件内容)
LogFile=/var/log/zabbix/zabibix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabibix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost #指明mysql的地址 zabbix-server mysql
DBName=zabbix #数据库名字
DBUser=zabbix #数据库的链接用户
DBPassword=lushao #数据库的密码
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts #存放自定义监控项脚本的目录
ExternalScripts=/usr/lib/zabbix/externalscripts