Zabbix软件的概念
Zabbix是一款开源的、免费的监控软件、项目(Prometheus),主要是用于监控网络设备、操作系统、应用程序、网络带宽,一旦发现异常或故障能给SA管理员发送告警信息。
Zabbix软件的特点
- Zabbix是C/S结构,由Client客户端和Server服务端组成;
- 可以支持批量监控设备、服务器(100、1000+);
- 可以去监控Windows、Linux、路由、交换设备等;
- 支持WEB界面管理,更快捷、高效;
- 支持Zabbix proxy代理节点,可以分担Server的压力;
- 可以支持二次开发,提供API接口跟其他运维平台整合、关联。
Zabbix软件的组成
Zabbix监控主要是由五大组件组成,分别是:zabbix server、zabbix database、zabbix web、zabbix proxy和zabbix agent组成
- zabbix server
- zabbix server是整个zabbix监控平台最核心的组件服务,主要是用于汇总、监控客户端(被监控端),将客户端的监控数据持久化保存至数据库中。
- zabbix database
- zabbix database是关系型数据库系统(MYSQL、Mariadb、Oracle、Db2等),主要是用于存储整个zabbix的核心数据:监控数据、历史数据、趋势数据、用户名、密码等。
- zabbix web
- zabbix web是基于PHP语言开发的网站程序,主要是用于管理员通过WEB界面更好的去管理Zabbix监控:添加、删除、动作、邮件、微信告警、代理等。
- zabbix proxy
- Zabbix proxy也被称为代理节点,主要是用于代替Zabbix server去监控客户端进而分担server的压力,Zabbix proxy获取的监控数据最终统一上报给server端。(主动模式、被动模式)
- zabbix agent
- Zabbix agent一般部署在客户端机器上(被监控端)主要是用于采集自身机器的CPU、MEM、I/0、打开文件数、进程数、端口、系统是否被黑客入侵等指标数据的。
基于OpenEuler操作系统部署一套Zabbix监控平台,至少需要四个组件服务:Zabbix server, Zabbix database、Zabbix web和Zabbix agent。
部署Zabbix server的方法和指令如下
从Zabbix官网下载软件包
wget -c https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.32.tar.gz -P /usr/src/切换到/usr/src/
cd /usr/src/解压zabbix-6.0.32.tar.gz
(-x extract解压,-z gzip压缩格式,-v verbose详细显示,-f file文件属性)
tar -xzvf zabbix-6.0.32.tar.gzcd切换至Zabbix源代码目录
cd zabbix-6.0.32安装依赖环境
yum install -y gcc mysql-devel pcre-devel libevent-devel make curl curl-devel预编译
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-libcurl编译(-j4,开启4个线程并行编译)
make -j4安装
make -j4 install查看Zabbix server程序是否部署成功
ls -l /usr/local/zabbix/拷贝zabbix server和agent启动脚本
\cp misc/init.d/tru64/zabbix* /etc/init.d/赋予执行权限
chmod +x /etc/init.d/zabbix_*添加zabbix server和agent主程序文件软连接
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/创建用户和组
useradd -s /sbin/nologin zabbix -M启动zabbix server服务
/etc/init.d/zabbix_server start查看zabbix进程
ps -ef|grep -aiE zabbixZabbix database安装部署
安装MYSQL软件
yum install -y mysql-server mysql启动MYSQL进程
systemctl start mysqld.service配置/etc/my.cnf
vim /etc/my.cnf添加log_bin_trust_function_creators = 1重启MYSQL进程
systemctl restart mysqld.service查看MYSQL进程状态
ps -ef|grep -aiE mysql进入MYSQL命令行终端
mysql创建zabbix库
create database zabbix character set utf8 collate utf8_bin;创建用户和设置密码
create user zabbix@localhost identified by 'aaaAAA111';授权本机访问数据库
grant all privileges on zabbix.* to zabbix@localhost;刷新权限
flush privileges;退出
exit进入/root/zabbix-6.0.32/database/mysql/目录下
cd /usr/src/zabbix-6.0.32/database/mysql/导入zabbix三个基础SQL文件
mysql -uzabbix -paaaAAA111 zabbix < schema.sqlmysql -uzabbix -paaaAAA111 zabbix < images.sqlmysql -uzabbix -paaaAAA111 zabbix < data.sqlzabbix web部署
因为zabbix web是基于PHP语言开发的,需要借助LNMP架构(环境)对其发布,部署的方法和指令
安装Nginx、PHP-FPM;(Nginx和PHP会自动整合)
yum install php-fpm nginx -y启动和查看Nginx和PHP-FPM进程
systemctl start nginx.servicesystemctl start php-fpm.serviceps -ef |grep -aiE "nginx|php-fpm"安装依赖
yum install php php-cli php-common php-devel php-embedded php-fpm php-gd php-mbstring php-mysqlnd php-opcache php-pdo php-xml -y将zabbix web程序拷贝至LNMP发布目录
\cp -a /usr/src/zabbix-6.0.32/ui/* /usr/share/nginx/html/修改zabbix_server.conf中的DBPassword
vim /usr/local/zabbix/etc/zabbix_server.conf重启zabbix服务
/etc/init.d/zabbix_server restart调整SELinux策略
永久关闭(需重启)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config防火墙拦截
临时开放HTTP服务
firewall-cmd --add-service=http --permanentfirewall-cmd --reload浏览器访问
根据如下zabbix监控平台指令、步骤的操作,用户通过浏览器可以访问zabbix web界面http://192.168.154.180
点击下一步时报错
进入/etc/php.ini修改以下参数值
vim /etc/php.inipost_max_size=16Mmax_execution_time=300max_input_time=300重启php-fpm服务
systemctl restart php-fpm.service安装PHP bcmath
yum -y install php-bcmath如下图全部报错已处理
输入数据库密码
填写数据库密码aaaAAA111
填写zabbix名称
下一步
下载配置文件上传到/usr/share/nginx/html/conf/zabbix.conf.php
chown -R apache:apache /usr/share/nginx/html/conf/zabbix.conf.php或者将
/usr/share/nginx/html/conf/目录所有者设置为apache
chown -R apache /usr/share/nginx/html/conf/输入用户名和密码:Admin/zabbix
查看zabbix日志所在路径
grep -aiE "log" /usr/local/zabbix/etc/zabbix_server.conf | grep -aivE "^#"|awk -F\= 'NR==1 {print $2}'查看zabbix日志内容
tail -n 30 $(grep -aiE "log" /usr/local/zabbix/etc/zabbix_server.conf | grep -aivE "^#"|awk -F\= 'NR==1 {print $2}')修改/usr/local/zabbix/etc/zabbix_server.conf主配置文件内的DBPassword=aaaAAA111
重启zabbix服务
/etc/init.d/zabbix_server restart刷新网页
zabbix agent报错
启用/etc/init.d/zabbix_agentd
/etc/init.d/zabbix_agentd start解决监测仪表盘中文乱码问题
寻找中文字体
在windows电脑C:\Windows\Fonts下找到楷体复制到D盘
进入/usr/share/nginx/html/assets/fonts/
cd /usr/share/nginx/html/assets/fonts/上传到
备份
mv DejaVuSans.ttf DejaVuSans.ttf.bak覆盖
mv simkai.ttf DejaVuSans.ttf