; Zabbix介绍、安装配置 | Linux运维部落

Zabbix介绍、安装配置

前言

本篇文章转自我的个人博客 http://anyisalin.com 欢迎大家访问

我们为什么需要监控?

1
<span style="font-family: 黑体, SimHei;font-size: 16px">没有监控就将系统上线, 就是在耍流氓</span>

; 在生产环境中, 监控是必不可少的, 因为我们需要实时了解业务的运行状态, 并且将数据以图表的方式直观的展示出来, 甚至当服务出现故障还可以根据事先定义好的规则自动执行相应脚本, 从而实现自动恢复、转移等功能

常用的开源监控系统有哪些?

运维工作就是大部分时候都是通过各种工具来让我们完成特定的任务, 监控也是如此, 目前也有很多开源的监控软件可供我们使用

常见的开源监控简单介绍

  • Cacti: 通过

    1
    <span style="font-family: 黑体, SimHei;font-size: 16px">snmpget</span>

    来获取数据, 使用RRDTool来绘制图形, 使用PHP语言编写, 提供强大的数据展示功能, 但是在故障报警方面不是很擅长

  • Nagios: 异常强大的报警功能, 多节点监控、数据图形展示的功能薄弱, 因此经常整合Cacti来进行监控

  • Zabbix: 融合CactiNagios的大部分功能, 通过WEB界面提供分布式的网络监控

Zabbix架构

Zabbix是一款强大的开源分布式监控系统, 能够将

1
<span style="font-family: 黑体, SimHei;font-size: 16px">SNMP</span>

1
<span style="font-family: 黑体, SimHei;font-size: 16px">JMX</span>

1
<span style="font-family: 黑体, SimHei;font-size: 16px">Zabbix Agent</span>

提供的数据通过

1
<span style="font-family: 黑体, SimHei;font-size: 16px">WEB GUI</span>

的方式进行展示.

Zabbix有四个组件, Zabbix-ServerZabbix-AgentZabbix-Webzabbix-proxy

  • Zabbix-Server: 服务端, 通过C语言编写, 获取Zabbix-Agent端的数据并存储在数据库中

  • Zabbix-Proyx: 代理服务端收集数据并保存在本地的数据库中, 定期将数据提交给Zabbix-Server

  • Zabbix-Agent: 客户端, 通过C语言编写, 收集定义的item的数据, 定期发给服务端

    1
    <span style="font-family: 黑体, SimHei;font-size: 16px">在不同工作模式下、也可能是服务器主动收集</span>

  • Zabbix-Web: Web-GUI结构, 可以运行在任意主机中, 连接Zabbix-Server并将数据库中的内容在前端展示

1462925923227840.jpg

Zabbix的安装和配置

搭建一个lamp环境


1
<span style="font-family: 黑体, SimHei;font-size: 16px">[root@node6 ~]# yum <span class="hljs-operator" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"><span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">install</span> httpd mysql-<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">server</span> php-mysql php -y <span class="hljs-comment" style="font-size: 20px;font-family: 黑体, SimHei">--nogpgcheck</span></span><br /></span>

使用阿里云的Zabbix_yum和epel仓库


1
<span style="font-family: 黑体, SimHei;font-size: 16px">[root<span class="hljs-constant" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6">@node6</span> ~]<span class="hljs-preprocessor" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"># yum-config-manager --add-repo=<span class="hljs-string" style="font-size: 20px;font-family: 黑体, SimHei">&quot;http://mirrors.aliyun.com/zabbix/zabbix/2.4/rhel/6/x86_64/&quot;</span> &nbsp;#添加yum仓库</span><br /></span>

1462925558910529.jpg

安装Zabbix-Server


1
<span style="font-family: 黑体, SimHei;font-size: 16px">[root@node6 ~]# yum <span class="hljs-operator" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"><span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">install</span> zabbix zabbix-<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">server</span> zabbix-<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">server</span>-mysql zabbix-<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">get</span> zabbix-sender zabbix-web-mysql zabbix-web -y <span class="hljs-comment" style="font-size: 20px;font-family: 黑体, SimHei">--nogpgcheck</span></span><br /></span>

配置mysql数据库


1
<span style="font-family: 黑体, SimHei;font-size: 16px">mysql&gt; <span class="hljs-operator" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"><span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">GRANT</span> ALL <span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">ON</span> zabbix.* <span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">TO</span> zbxuser@<span class="hljs-string" style="font-size: 20px;font-family: 黑体, SimHei">&#039;%&#039;</span> <span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">IDENTIFIED</span> <span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">BY</span> <span class="hljs-string" style="font-size: 20px;font-family: 黑体, SimHei">&#039;passwd&#039;</span>;</span><br />mysql&gt; <span class="hljs-operator" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"><span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">CREATE</span> <span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">DATABASE</span> zabbix;</span><br /><br /><br />#导出zabbix默认的数据表<br />[root@node6 ~]# mysql zabbix &lt; /usr/share/doc/zabbix-server-mysql-2.4.8/<span class="hljs-operator" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"><span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">create</span>/<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">schema</span>.<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">sql</span> &nbsp;<br />[root@node6 ~]# mysql zabbix &lt; /usr/<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">share</span>/doc/zabbix-<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">server</span>-mysql-<span class="hljs-number" style="font-size: 20px;font-family: 黑体, SimHei">2.4.8</span>/<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">create</span>/images.<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">sql</span> <br />[root@node6 ~]# mysql zabbix &lt; /usr/<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">share</span>/doc/zabbix-<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">server</span>-mysql-<span class="hljs-number" style="font-size: 20px;font-family: 黑体, SimHei">2.4.8</span>/<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">create</span>/<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">data</span>.<span class="hljs-keyword" style="font-size: 20px;font-family: 黑体, SimHei">sql</span> </span><br /></span>

配置php时区


1
<span style="font-family: 黑体, SimHei;font-size: 16px">[root@node6 ~]<span class="hljs-comment"># vim /etc/php.ini &nbsp;#设置时区为某个地区</span><br /><span class="hljs-type">date</span>.timezone = Asia/Shanghai<br /></span>

配置zabbix-server


1
<span style="font-family: 黑体, SimHei;font-size: 16px"><span class="hljs-title">[root@node6 ~]</span><span class="hljs-comment"># vim /etc/zabbix/zabbix_server.conf &nbsp; #修改下面两项</span><br /><span class="hljs-setting" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6">DBName=zabbix</span><br /><span class="hljs-setting" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6">DBPassword=passwd</span><br /><span class="hljs-setting" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6">DBHost=<span class="hljs-number" style="font-size: 20px;font-family: 黑体, SimHei">172.16</span>.<span class="hljs-number" style="font-size: 20px;font-family: 黑体, SimHei">1.7</span></span><br /></span>

启动并进入web-gui初始化


1
<span style="font-family: 黑体, SimHei;font-size: 16px">[root<span class="hljs-constant" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6">@node6</span> ~]<span class="hljs-preprocessor" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"># service zabbix-server start</span><br />[root<span class="hljs-constant" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6">@node6</span> ~]<span class="hljs-preprocessor" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"># service httpd start</span><br /></span>

1
<span style="font-family: 黑体, SimHei;font-size: 16px">启动后一定要看一下端口是否监听, 如果没有监听, 查看/var/log/zabbix/zabbix-server.log是否有错误记录</span>

1462925558127515.jpg

1462925561877413.gif

安装agent


1
<span style="font-family: 黑体, SimHei;font-size: 16px">[root<span class="hljs-constant" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6">@node6</span> ~]<span class="hljs-preprocessor" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"># yum install zabbix-agent -y</span><br /></span>

配置agent


1
<span style="font-family: 黑体, SimHei;font-size: 16px">[root@node6 ~]<span class="hljs-preprocessor" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"># vim /etc/zabbix/zabbix_agentd.conf &nbsp;##我这里是监控本机, 其实不用修改配置文件,如果是其他节点需要监控, 则需要按如下配置</span><br />Server=<span class="hljs-number">127.0.0.1</span>,<span class="hljs-number">172.16.1.7</span><br />ServerActive=<span class="hljs-number">127.0.0.1</span>,<span class="hljs-number">172.16.1.7</span><br />Hostname=node6.anyisalin.com<br /></span>

启动agent并测试


1
<span style="font-family: 黑体, SimHei;font-size: 16px">[root<span class="hljs-constant" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6">@node6</span> ~]<span class="hljs-preprocessor" style="font-size: 20px;font-family: 黑体, SimHei;line-height: 1.6"># service zabbix-agent start</span><br /></span>

1462925562191707.gif

总结

我们轻松的实现了Zabbix-ServerZabbix-Agent. 尽管我没有将它们分离开来, 但是效果已经达到了, 关于Zabbix的更多文章,还会继续写

文章内容浅尝辄止, 大家有更好的见解可以提出, 觉得我写的不错, 可以点一波赞~(≧▽≦)/~ 
作者: AnyISaIln QQ: 1449472454 
感谢: MageEdu

原创文章,作者:Net18-AnyISalIn,如若转载,请注明出处:/16273

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1660809109@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达直属  万达主管  万达娱乐主管QQ  万达娱乐招商QQ  万达娱乐招商QQ  万达直属  guoqibee.com  万达娱乐直属  万达主管  万达登录