实战网络监控Zabbix(1)—— 远程监控主机服务

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

1. Zabbix 简介

        Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。

        官方网站:http://www.zabbix.com

   1.1 zabbix模式

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

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

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

   1.2 Zabbix 运行条件:

      Server:Zabbix Server 需运 行在 LAMP( Linux+Apache+Mysql+PHP)环 境下( 或者LNMP),对硬件要求低

     Agent:目前已有的 agent 基本支持市面常见的 OS,包含 Linux、HPUX、Solaris、Sun、windows

     SNMP:支持各类常见的网络设备

wKioL1gTG4bQDEfoAAOSyU71uvg759.png

2.优劣势

    优点:

        开源,无软件成本投入

        Server 对设备性能要求低

        支持设备多,自带多种监控模板

        支持分布式集中管理,有自动发现功能,可以实现自动化监控

        开放式接口,扩展性强,插件编写容易

        当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server 端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。

        Api 的支持,方便与其他系统结合

    缺点:

        需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。


实验环境:

    物理主机    redhat7.0 内核版本 3.10.0-123.el7.x86_64

    虚拟机    redhat6.5 内核版本 2.6.32-431.el6.x86_64

        服务器端: server1.example.com    172.25.254.1

        客户端:    server2.example.com    172.25.254.2

    所需软件包:

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-server-2.4.5-1.el6.x86_64.rpm

zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm

zabbix-web-2.4.5-1.el6.noarch.rpm

zabbix-web-mysql-2.4.5-1.el6.noarch.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

fping-2.4b2-16.el6.x86_64.rpm

iksemel-1.4-2.el6.x86_64.rpm

iksemel-utils-1.4-2.el6.x86_64.rpm

php-mbstring-5.3.3-26.el6.x86_64.rpm

php-bcmath-5.3.3-26.el6.x86_64.rpm



一.服务器端配置

Zabbix 需要 lamp 环境:

wKioL1gTHfCB0mEdAAAMgsf_bZc038.png

1. 安装 zabbix 所需软件包

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-server-2.4.5-1.el6.x86_64.rpm

zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm

zabbix-web-2.4.5-1.el6.noarch.rpm

zabbix-web-mysql-2.4.5-1.el6.noarch.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

fping-2.4b2-16.el6.x86_64.rpm

iksemel-1.4-2.el6.x86_64.rpm

iksemel-utils-1.4-2.el6.x86_64.rpm

php-mbstring-5.3.3-26.el6.x86_64.rpm

php-bcmath-5.3.3-26.el6.x86_64.rpm

wKioL1gTHpqyQJFjAABTANt5w6w562.png

2. 配置 mysql 数据库

# service mysqld start

# mysql

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'willis';

mysql> quit;

# cd /usr/share/doc/zabbix-server-mysql-2.4.5/create

# mysql -uzabbix -pwestos zabbix < schema.sql

## stop here if you are creating database for Zabbix proxy ##

# mysql -uzabbix -pwestos zabbix < images.sql

# mysql -uzabbix -pwestos zabbix < data.sql

wKiom1gTH8jR4OgOAAA4rXTM07M272.png

wKiom1gTH8eRf28wAAA4GT0vGlg457.png

wKiom1gTIHujuDvAAAA2dJuU2cg592.png

3. 配置 zabbix server

[root@server1 create]# vim /etc/zabbix/zabbix_server.conf 

72    DBHost=localhost

82    DBName=zabbix

106  DBPassword=willis

163  StartTrappers=10

wKioL1gVfhyjNme1AAANlxvDH00810.png

wKiom1gVfhyS1Q9CAAAiIS9xYmI557.png

wKiom1gVkH-R5cv2AAAUGbSX1xE962.png

4. 配置 php

[root@server1 conf.d]# vim /etc/php.ini 

 946 date.timezone = Asia/Shanghai

[root@server1 conf.d]# pwd

/etc/httpd/conf.d

[root@server1 conf.d]# vim zabbix.conf 

 13     php_value max_execution_time 300

 14     php_value memory_limit 128M

 15     php_value post_max_size 16M

 16     php_value upload_max_filesize 2M

 17     php_value max_input_time 300

 18     php_value date.timezone Asia/Shanghai

wKioL1gVfqvx8vZQAAALrogdVP0681.png

wKiom1gVfqvg_7JWAABNRRnBe1E709.png

5. 启动 zabbix server、zabbix agent、httpd

# service httpd start

# service zabbix-server start

# service zabbix-agent start

wKioL1gTIxOjmU4MAAA28wos-7k396.png6. 登陆 zabbix web

http://172.25.254.1/zabbix 按照提示完成安装并登陆:

wKiom1gTI2bzD_w4AAHwmg1y7xw801.png


wKioL1gTJCPyEXLqAABC4M4Jlr0126.png


wKiom1gTJSGSQqwIAAApxC9T-FI864.png



wKioL1gTJSDAr5RHAABO3qT47YM686.png


wKiom1gTJSCxICwzAAAWQ_maReA597.png


wKioL1gTJZOBY22XAAFWnJfgfMo755.png

Username: Admin

Password: zabbix


wKiom1gVgDnSQ53DAADxZjNFDnw376.png

可以看到 Zabbix server is running 状态值为Yes.服务端部署完成。



二.被监控端配置(server2)

    7. 添加 agent 主机

    7.1在被监控端安装软件包:

zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm

wKiom1gTJuewdyK7AAAljvh4gTA618.png

    7.2配置 zabbix agent

# vim /etc/zabbix/zabbix_agentd.conf

85      Server=172.25.254.1

126    ServerActive=172.25.254.1

137    Hostname=server2.example.com    #主机名需要有解析

wKioL1gVg9GDMh2iAAAXf4-Lpms932.png

    7.3启动 zabbix agent

[root@server2 zabbix]# /etc/init.d/zabbix-agent restart

wKiom1gVhDeQd0a6AAAhAem0k-c507.png


网页端配置:

 Configuration ->Discovery

wKiom1gVhnqDVQXMAAB5Fvrmyo4593.png

8. 在 zabbix server 上激活 zabbix agent 自动注册功能

点击 Configuration -> Actions ->Auto registration ->Create action 按下图所示设置:

wKiom1gVinyzW3K3AABgHrhmfls898.png


自定义 Action 的名字。

Conditions 选项卡保持默认即可。

Operations 选项卡添加如下:


wKiom1gVinvjJKwkAABkkPWpSw0742.png

Add host:自动注册主机添加到 hosts 列表

Add to host groups:自动注册主机加入 linux servers 组(组名可以自定义)

Link to templates:自动注册主机应用模板 Template OS linux

wKioL1gVi0OweJO3AACbZ-V6j2A697.png


点击 Configuration -> Hosts 可以看到新加的主机:

wKiom1gVjO-BlYF0AABf4zPPusA488.png



三. 添加http服务监控

    Zabbix 的更多功能值得大家一起研究和分享。

    来看看 zabbix 是怎样添加服务监控项的,利用 zabbix 自带的监控模版,以 http 服务为例:

wKiom1gVjfOhlCuFAADCGuYNq8M744.png

   点击 Configuration -> Templates 选择需要链接的模版

   也可以在 Configuration -> Hosts -> server2.example.com -> Templates 选择需要的模版

wKiom1gVme7B_sAOAAB1gf6zE7A038.png

这样主机 server2.example.com 的监控项中就出现了 HTTP 服务

wKioL1gVmkrQVIVVAAAhsI7Fz4w026.png


四.监控远程主机Mysql服务

    在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何获取 mysql服务的各种信息,并在/var/lib/zabbix 目录中新建“.my.cnf”文件,用以指定 zabbix agent 如何登陆数据库,默认使用的是 zabbix 用户,可以在 zabbix_server.conf 文件中找到密码。

[root@server2 zabbix]# yum install mysql-server -y

[root@server2 zabbix]# /etc/init.d/mysqld start

[root@server2 zabbix]# mysql_secure_installation   

                                    ###初始化数据库 ,我把数据库密码改成了willis

[root@server2 zabbix]# mkdir /var/lib/zabbix

[root@server2 zabbix]# cp /etc/my.cnf /var/lib/zabbix/.my.cnf

[root@server2 zabbix]# vim /var/lib/zabbix/.my.cnf

wKioL1gVlkaDGREAAAAke3d22S4674.png

[mysql]

host = localhost

user = zabbix

password = willis

socket = /var/lib/mysql/mysql.sock

[mysqladmin]

host = localhost

user = zabbix

password = willis

socket = /var/lib/mysql/mysql.sock

wKiom1gVlpei8A72AAAyodPoteE011.png

监控远程主机的 mysql 服务需要创建 zabbix 用户并授权,本机监控则不需要。

mysql> grant select on *.* to 'zabbix'@'localhost' identified by 'willis';

[root@server2 zabbix]# mysql -uzabbix -pwillis

wKioL1gVmBSg4FrvAAA5zAb1-Wc841.png

[root@server2 zabbix]# /etc/init.d/zabbix-agent restart

Shutting down Zabbix agent:                                [  OK  ]

Starting Zabbix agent:                                     [  OK  ]


链接 mysql 监控模版:


wKiom1gVnEPiiKOzAAB08hH55gg936.png


点击 Configuration -> Hosts -> server2.example.com-> Graphs 可以看到两个新的监控图形

wKioL1gVnJ6hoq5sAAAWiVXwBw4293.png

过一会可以看到监控的图形变化

wKioL1gVnN_weSLmAACaiAaiq4M096.png



本文转自willis_sun 51CTO博客,原文链接:http://blog.51cto.com/willis/1867358,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
安全 API 网络安全
OpenStack的 网络服务(Neutron)
【8月更文挑战第23天】
51 10
|
21天前
|
存储 SQL 安全
网络安全的盾牌:漏洞防护与加密技术的实战应用
【8月更文挑战第27天】在数字化浪潮中,信息安全成为保护个人隐私和企业资产的关键。本文深入探讨了网络安全的两大支柱——安全漏洞管理和数据加密技术,以及如何通过提升安全意识来构建坚固的防御体系。我们将从基础概念出发,逐步揭示网络攻击者如何利用安全漏洞进行入侵,介绍最新的加密算法和协议,并分享实用的安全实践技巧。最终,旨在为读者提供一套全面的网络安全解决方案,以应对日益复杂的网络威胁。
|
14天前
|
监控 Linux
Zabbix 5.0 LTS的agent服务部署实战篇
文章介绍了如何在CentOS 7.6操作系统上部署Zabbix 5.0 LTS版本的agent服务,包括配置软件源、安装agent、修改配置文件、启动服务,并在Zabbix web界面添加监控。
38 4
Zabbix 5.0 LTS的agent服务部署实战篇
|
14天前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
26 2
zabbix agent集成percona监控MySQL的插件实战案例
|
14天前
|
监控 前端开发 数据库
Zabbix 5.0 LTS部署实战篇
这篇文章是关于Zabbix 5.0 LTS部署的详细教程,包括版本选择、服务器平台选择、安装步骤、数据库配置、前端安装以及修改时区和设置开机自启等内容。
46 1
Zabbix 5.0 LTS部署实战篇
|
4天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
28 8
|
18天前
|
运维 安全 应用服务中间件
自动化运维的利器:Ansible入门与实战网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【8月更文挑战第30天】在当今快速发展的IT时代,自动化运维已成为提升效率、减少错误的关键。本文将介绍Ansible,一种流行的自动化运维工具,通过简单易懂的语言和实际案例,带领读者从零开始掌握Ansible的使用。我们将一起探索如何利用Ansible简化日常的运维任务,实现快速部署和管理服务器,以及如何处理常见问题。无论你是运维新手还是希望提高工作效率的资深人士,这篇文章都将为你开启自动化运维的新篇章。
|
18天前
|
Java
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
29 3
|
19天前
|
Java API UED
【实战秘籍】Spring Boot开发者的福音:掌握网络防抖动,告别无效请求,提升用户体验!
【8月更文挑战第29天】网络防抖动技术能有效处理频繁触发的事件或请求,避免资源浪费,提升系统响应速度与用户体验。本文介绍如何在Spring Boot中实现防抖动,并提供代码示例。通过使用ScheduledExecutorService,可轻松实现延迟执行功能,确保仅在用户停止输入后才触发操作,大幅减少服务器负载。此外,还可利用`@Async`注解简化异步处理逻辑。防抖动是优化应用性能的关键策略,有助于打造高效稳定的软件系统。
30 2
|
23天前
|
监控 安全 网络安全
云端防御:融合云服务与网络安全的未来
【7月更文挑战第56天】 随着云计算技术的蓬勃发展,企业和个人越来越依赖于云平台提供的弹性、可伸缩及成本效益高的服务。然而,这种依赖性也带来了前所未有的安全挑战。本文探讨了在云服务模型下,如何通过创新的网络安全策略和技术维护信息安全。我们将深入分析云计算环境中存在的安全漏洞,并展示如何利用先进的加密技术、身份验证机制和智能监控工具来强化数据保护。同时,文中还将讨论隐私保护的最新趋势和合规性问题,以期为读者提供全面的云计算与网络安全融合指南。

推荐镜像

更多