在开篇之前又来废话一下,今天这个教程也是基于现有项目需要,做服务器运维监控,由于项目紧,任务重,运维监控也是重中之重,运维监控确保系统是否正常运营,由于政府项目比较特殊,网络原因以及环境原因,这里结合使用到了proxy来代替server收集信息,具体项目拓扑这里就不做过多的解释。
1,Zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
1.1,zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
1.2 Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
1.3 Zabbix 官网
https://www.zabbix.com/
2,环境搭建
2.1 环境搭建机器配置,这里由于是演示环境,在生产环境下Agent 机器会很多,这里不做过多演示,演示环境都是同一网段,具体部署看下面的图例
192.168.177.145 Zabbix Server
192.168.177.146 Zabbix Agent
192.168.177.147 Zabbix Agent1
192.168.177.148 Zabbix Proxy
注意:这里zabbix server和zabbix proxy是同一个网段下,zabbix proxy有两块网卡,一个是177,一个是110网段 ,110网段的agent数据收集通过proxy代理进行收集信息,在一定时间内,批量上传至server,这样可以避免频繁访问server端,对服务器造成压力
2.2 安装前对系统做下配置
2.2.1 由于centos系统镜像源是国外的,这里我们切换下国内阿里云或者163镜像源
阿里:wget http://mirrors.aliyun.com/repo/Centos-7.repo
163:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
2.3 安装zabbix Server这里的安装是通过二进制包来安装
这是官方网站提供的,我们这里选择的4.0版本
2.3.1 安装下相关依赖这个过程可能有点漫长
yum install epel-release
yum -y install “Development Tools”
2.3.2 安装zabbix镜像源
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
yum clean all
2.3.3 关闭防火墙
systemctl stop firewalld
2.3.4 安装 zabbix-server-mysql zabbix-web-mysql
yum install zabbix-server-mysql zabbix-web-mysql
2.3.5安装mariadb-server
yum -y install mariadb-server
2.3.6启动mariadb-server
systemctl start mariadb.service systemctl status mariadb.service
2.3.7接下来看下mysql启动进程
ps aux | grep mysql
运行mysql_secure_installation命令对其做下操作
3,接下对数据库进行修改
create database zabbix character set utf8 collate utf8_bin;
3.1接下来创建zabbix用户
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix@somnus123'; flush privileges;
3.2执行数据库表结构同步
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix@somnus123 zabbix
3.3接下里配置zabbix server
/etc/zabbix/zabbix_server.conf DBName=zabbix DBUser=zabbix DBPassword=zabbix@somnus123
3.4 启动zabbix server
systemctl start zabbix-server.service systemctl status zabbix-server.service