[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 等平台上。


Zabbix的主要特点


  • 安装与配置简单,学习成本低

  • 支持多语言(包括中文)

  • 免费开源

  • 自动发现服务器与网络设备

  • 分布式监视以及 Web 集中管理功能

  • 可以无 agent 监视

  • 用户安全认证和柔软的授权方式

  • 通过 Web 界面设置或查看监视结果


Zabbix 主要功能


  • CPU 负荷

  • 内存使用

  • 磁盘使用

  • 网络状况

  • 端口监视

  • 日志监视

  • 安全监控

  • 日志监控

  • 业务监控

  • 流量分析

  • 自动化监控


Zabbix 监控原理


Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。


  • 被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据

  • 监控端:通过收集 SNMP 和 agent 发送的数据,写入数据库(mysql,ORACLE 等),再通过 php+apache 在 web 前端展示。 


Zabbix特点


  • 分布式监控系统,分为 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)


Zabbix 主控端配置



 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 的安装网页就说明成功,如果没有仔细检查或重启服务


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监控的主要内容,如果未能解决你的问题,请参考以下文章

zabbix部署(Linux上部署/监控端/被监控端)

zabbix部署(Linux上部署/监控端/被监控端)

[Linux]-部署Zabbix监控

Linux学习总结(五十五)监控zabbix部署 上篇

Linux学习总结(五十六)监控zabbix部署 下篇

Linux学习总结(五十六)监控zabbix部署 下篇