在开篇之前又来废话一下,今天这个教程也是基于现有项目需要,做服务器运维监控,由于项目紧,任务重,运维监控也是重中之重,运维监控确保系统是否正常运营,由于政府项目比较特殊,网络原因以及环境原因,这里结合使用到了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 start zabbix-server.service
4,配置zabbix前端
4.1配置php配置文件
vi /etc/php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_vars = 10000
always_populate_raw_post_data = -1
date.timezone = Asia/Shanghai
4.2启动httpd
systemctl start httpd.service
systemctl status httpd.service
4.3 通过http://192.168.177.145/zabbix/setup.php访问zabbix
标记的地方就是我们配置的地方,不满足要求是没法下一步的
4.4设置数据库密码
4.5设置zabbix server
4.6最后确认
4.7接下来登录zabbix
账号:Admin
密码:zabbix
4.8登录进入页面
至此zabbx server安装完成
5,安装zabbix proxy
yum -y install zabbix-proxy-mysql
5.1安装数据库参考2.3.5步骤
5.2 创建数据库
create database zabbix_proxy character set utf8 collate utf8_bin;
5.3 创建用户
grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix@somnus123';
flush privileges;
5.4 接下来导入表结构
rpm -ql zabbix-proxy-mysql
5.5 导入数据
zcat /usr/share/doc/zabbix-proxy-mysql-4.0.25/schema.sql.gz | mysql -uzabbix -pzabbix@somnus123 zabbix_proxy
5.6 修改zabbix-proxy配置文件
vi /etc/zabbix/zabbix_proxy.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix@somnus123
Server=192.168.177.145
Hostname=sd-proxy
修改配置文件,进行修改完毕之后进行重启
5.7 启动服务
systemctl start zabbix-proxy.service
systemctl status zabbix-proxy.service
5.8接下来在web界面配置代理
6 安装zabbix agent
yum -y install zabbix-agent
6.1启动zabbix agent
systemctl start zabbix-agent
systemctl status zabbix-agent
6.2 修改zabbix-agent配置文件
vi /etc/zabbix/zabbix_agent.conf
Server=192.168.177.148
Hostname=zabbix
修改配置文件,进行修改完毕之后进行重启
当看到以下界面就说明监控已经部署成功,已经被监控起来了
6.3查看监控信息
6.4看到仪表盘上有警告信息
7 添加邮件报警
7.1启用email邮件报警
7.2 选择接受邮件地址
7.3 通过制造事件进行发送邮件
7.4登录邮件查看
以上就是我们今天的教程,如果本文对你有所帮助,欢迎关注点赞,分享给您身边的朋友。您的鼓励就是对我的最大动力。
相关博客
简书原文博客:CentOS手把手教你搭建Zabbix Server,Zabbix Proxy,Zabbix Agent企业级监控平台