[Linux]-部署Zabbix监控
Posted 51reboot运维开发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux]-部署Zabbix监控相关的知识,希望对你有一定的参考价值。
Zabbix 是一个基于 Web 界面提供分布式系统监控及其网络监控功能的企业级开源项目解决方案,Zabbix 能监视各种网络参数,保证服务器系统的安全运行稳定运营,并提供灵活的通知机制以让管理员快速定位并解决存在的各种问题。
Zabbix 有两种部分组成,分别是 [zabbix server]、[zabbix agent]。Zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在 Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X 等平台上。
安装与配置简单,学习成本低
支持多语言(包括中文)
免费开源
自动发现服务器与网络设备
分布式监视以及 Web 集中管理功能
可以无 agent 监视
用户安全认证和柔软的授权方式
通过 Web 界面设置或查看监视结果
CPU 负荷
内存使用
磁盘使用
网络状况
端口监视
日志监视
安全监控
日志监控
业务监控
流量分析
自动化监控
Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据
监控端:通过收集 SNMP 和 agent 发送的数据,写入数据库(mysql,ORACLE 等),再通过 php+apache 在 web 前端展示。
分布式监控系统,分为 node,proxy 两种模式
自动化监控,自动化监控工具,支持多变量,支持 low level discovery(lld低水平自动发现),可批量管理监控
自动化监视,注册主机,自动添加模板、分组,自动化运维利器,可以搭配puppet(集中配置管理系统)&zabbix 使用,还有一个 saltstack(管理工具允许管理员对多个操作系统创建一个一致的管理系统)&zabbix
报警触发器,多重判断机制,多种监控方式,snmp,agentd,ipmi,jmx 等
Agent:目前已有的 agent 基本支持市面常见的 OS,包含 Linux、HPUX、Solaris、Sun、 windows
SNMP:支持各类常见的网络设备 SNMP(Simple Network Management Protocol,简单网络管理协议
中小规模(服务器<=1k):Zabbix/cacti
大规模(1k>=服务器<=10k):Nagios 二次开发
超大规模(服务器>=10k):自开发监控系统
Nagios(开源软件)
Zabbix(开源商业软件)
Cloud lnsight (不开源免费 http://www.oneapm.com/ci/feature.html)
1、YUM 安装简单的 LAMP 环境
[root@localhost ~]# yum -y install gcc mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd
安装 php-bcmath,php-mbstring
[root@localhost ~]# rpm -ivh php-bcmath-5.3.3-22.el6.x86_64.rpm --nodeps [root@localhost ~]# rpm -ivh php-mbstring-5.3.3-22.el6.x86_64.rpm --nodeps
2、安装 Zabbix
创建一个 Zabbix 的用户
[root@localhost ~]# useradd -u 66 zabbix
解压配置编译安装
[root@localhost ~]# tar -zxvf zabbix-2.2.6.tar.gz -C /usr/src/ [root@localhost ~]# cd /usr/src/zabbix-2.2.6/ [root@localhost ~]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --withnet-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config && make && make install
软连接优化
[root@localhost ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/ [root@localhost ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
添加服务配置文件的 prot
[root@localhost ~]# vim /etc/services 添加: zabbix-agent 10050/tcp Zabbix Agent zabbix-agent 10050/udp Zabbix Agent zabbix-trapper 10051/tcp Zabbix Trapper zabbix-trapper 10051/udp Zabbix Trapper
修改配置文件
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf 修改: DBName=zabbix //数据库名称 DBUser=zabbix //数据库用户名 DBPassword= 123.com //数据库密码 ListenIP=127.0.0.1 //数据库 ip 地址 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts //警告路径
修改 agentd 配置文件,因为本服务器也需要被监控
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 修改: Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=1
拷贝启动脚本
[root@localhost ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ [root@localhost ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/init.d/ [root@localhost ~]# vim /etc/init.d/zabbix_server 修改: BASEDIR=/usr/local/zabbix/ vim /etc/init.d/zabbix_agentd 修改: BASEDIR=/usr/local/zabbix/ //需要指定路径
赋予执行权限
[root@localhost ~]# chmod +x /etc/init.d/zabbix_agentd [root@localhost ~]# chmod +x /etc/init.d/zabbix_server
分别开启服务并添加为系统服务
[root@localhost ~]# /etc/init.d/zabbix_agentd start [root@localhost ~]# /etc/init.d/zabbix_server star [root@localhost ~]# chkconfig --add zabbix_agentd [root@localhost ~]# chkconfig zabbix_server on [root@localhost ~]# chkconfig --add zabbix_server [root@localhost ~]# chkconfig zabbix_agentd on
3、配置 php
[root@localhost ~]# vim /etc/php.ini 修改: max_execution_time = 300 //最大执行时间 max_input_time = 300 //最大输入时间 post_max_size = 16M //限定上传最大空间 date.timezone = Asia/Shanghai //指定区时,注意大小写
4、配置 httpd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 修改: DirectoryIndex index.php index.html index.html.var //使其支持php [root@localhost ~]# cp -r /usr/src/zabbix-2.2.6/frontends/php/ /var/www/html/zabbix //zabbix的网页复制到httpd下 [root@localhost ~]# chown -R apache:apache /var/www/html/zabbix/ //权限 [root@localhost ~]# service httpd restart [root@localhost ~]# chkconfig --add httpd [root@localhost ~]# chkconfig httpd on //重启服务使其生效,添加为系统服务
5、配置 MySQL
[root@localhost ~]# service mysqld restart
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# mysqladmin -u root password '123.com' //设置一个秘密
[root@localhost ~]# mysql -u root -p123.com
创建库:
Mysql>create database zabbix default character set utf8; //指定字符集是utf-8
Mysql>grant all privileges on zabbix.* to zabbix@localhost identified by '123.com';
[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/schema.sql
[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/images.sql
[root@localhost ~]# mysql -u zabbix -p zabbix < /usr/src/zabbix-2.2.6/database/mysql/data.sql //导入数据库,注意导入顺序按照这个顺序,然后输入password
6、验证 Zabbix
[root@localhost ~]# firefox http://192.168.1.1/zabbix &
出现 Zabbix 的安装网页就说明成功,如果没有仔细检查或重启服务
[root@localhost ~]# hostname cheney //更改主机名 [root@localhost ~]# bash //使其生效 [root@cheney ~]# useradd -u 66 zabbix [root@cheney ~]# tar -zxvf zabbix-2.2.6.tar.gz -C /usr/src/ [root@cheney ~]# cd /usr/src/zabbix-2.2.6/ [root@cheney ~]#./configure --prefix=/usr/local/zabbix --enable-agent make && make install //因为是被控端,之安装配置agent [root@cheney ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ [root@cheney ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/ //路径优化
修改配置文件
[root@cheney ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 修改: Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ //去掉 lnclude 的注释并修改路径 UnsafeUserParameters=1 //“0”改为“1”,启用自定义 key Server=192.168.1.1 //主控服务器 IP(zabbix 服务器的 IP) ServerActive=192.168.1.1 //主控服务器 IP(zabbix 服务器的 IP) Hostname=cheney //受控端主机名
添加服务 port 到结尾
[root@cheney ~]# vim /etc/services 添加: zabbix-agent 10050/tcp Zabbix Agent zabbix-agent 10050/udp Zabbix Agent zabbix-trapper 10051/tcp Zabbix Trapper zabbix-trapper 10051/udp Zabbix Trapper
拷贝启动脚本并赋予执行权限
[root@cheney ~]# cp /usr/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd [root@chenye ~]# chmod +x /etc/rc.d/init.d/zabbix_agentd[root@www ~]# /etc/rc.d/init.d/zabbix_agentd restart [root@cheney ~]# chkconfig --add zabbix_agentd [root@cheney ~]# chkconfig zabbix_agentd on
修改配置文件
[root@cheney ~]# vim /etc/rc.d/init.d/zabbix_agentd 修改: BASEDIR=/usr/local/zabbix //改为zabbix的安装路径
3、在网页中安装 Zabbix(主控端)
注意事项:
第二页的配置信息需要全部 “OK” 才可以进行后面的操作;
User 和 password 分别为我们创建的 zabbix&zabbix
Database:MySQL Database host:127.0.0.1 Database port:use default port Database name:zabbix User:zabbix Password:zabbix
Test connection #测试数据库连接是否正常,显示 ok 表示通过
后面默认,Finish 安装完成
4、中文支持
[root@localhost ~]# vim /var/www/html/zabbix/include/locales.inc.php #编辑修改 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false), 修改为 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),
替换监控图像上系统默认的字体 #默认字体不支持中文,如果不替换,图像上会显示乱码 在 Windows 系统中的 C:\Windows\Fonts 目录中复制出一个中文字体文件,例如 msyh.ttf 把字体文件 msyh.ttf 上传到 zabbix 站点根目录下 fonts 文件夹中 例如:/var/www/html/zabbix/fonts 备份默认的字体文件:DejaVusSans.ttf_bak 修改 msyh.ttf 名称为 DejaVusSans.ttf
登录 Zabbix 账号:admin 密码:zabbix (默认),登录后点击右上角的Profile -- Language:Chinese(zh_CN) //选择中文选项 保存后就是中文界面
原文链接:http://www.cnblogs.com/chenwz/p/7701837.html
运维自动化班 6 期报名开始
课程概述:
理论结合实战,使学员既可掌握快速从零构建一套实用、完整、可扩展的运维自动化平台。
1
深度结合使用流行的 Zabbix、Ansible、Git、Docker、Rancher、ELK 等开源框架与工具, 以为应用最广泛的 Django 框架为基础,构建一站式运维自动化平台。
2
通过深度剖析与二次开发定制,结合 REST API、运维流程化、运维可视化、运维平台化 思想来构造企业级的运维自动化解决方案。
3
在老师带领下大战 Zabbix、CMDB、集群自动化部署上线、ELK 日志大数据分析、Docker 容器管理平台等多个最新实战,天天实战,招招实用。
上课模式:网络直播班 线下面授班
咨询报名联系:
QQ(1):979950755 小月
QQ(2):279312229 ada
WeChat : 1902433859 小月
WeChat : 1251743084 小单
开课时间:12月10日(周日)
课程大纲:http://51reboot.com/course/devops/
(阅读原文,即可跳转)
以上是关于[Linux]-部署Zabbix监控的主要内容,如果未能解决你的问题,请参考以下文章