linux监控平台介绍

常见开源监控软件

  • cacti、nagios、zabbix、smokeping、open-falcon 等等。

  • nagios和zabbix流行度很高。

  • cacti、smokeping 偏向于监控基础的东西。

    • cacti可以监控网络设备,它的图形表现得非常好,非常漂亮。

    • IDC 机房比较喜欢用cacti、smokeping,因为适合监控网络设备。
  • cacti、nagios、zabbix 服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不同存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图

  • open-falcon 是小米公司开发的监控软件。开源后收到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。

  • zabbix、nagios、cacti 都是支持web界面去管理、控制。

    • 其中zabbix在web界面下管理得非常彻底。可以去增加监控节点,可以去配置具体的监控项目等。
  • nagios 和zabbix相比,更注重于某一个监控的状态。

zabbix 监控介绍

  • zabbix 有一个服务端,去客户端抓数据,客户端上必须有个服务启动着,服务是负责采集数据的,数据是可以主动上报给服务端的,也可以让服务端连接客户端抓数据。所以,客户端分两种模式,一种是主动模式,一种是被动模式。

  • zabbix 也是C/S架构,基于c++开发,监控中心支持web界面配置和管理(需要php环境)

  • 单server节点可以支持上万台客户端

    • 它的瓶颈可能在于采集数据的量,如果上万台客户端监控的项目太多的话也会导致效率降级。这时,就需要对zabbix进行优化了,增加一些proxy(代理点),这些代理点充当server的角色,替代server 去采集数据,最终得到分析结果再汇报给server。
  • 最新版本3.4(更新速度还是很快的),官方文档https://www.zabbix.com/manuals

  • zabbix 组件 (zabbix整个体系交媾中有一下5个主要角色:)

    • zabbix-server 监控中心

    zabbix-server是整个监控体系中最核心的组件,它负责接收客户端上报的信息,负责配置、统计、操作数据。

    • 数据存储(如:mysql、mariadb、SqlServer)

    监控过程中收集的所有信息都存储在这里。

    • web界面

    web界面,即web UI。这是zabbix监控简单易用的原因之一,因为我们可以在web界面中配置、管理各个客户端。运行web界面需要有PHP环境支持。

    • zabbix-proxy

    zabbix-proxy为可选组件,用于监控节点非常多的分布式环境,它可以代理zabbix-server的功能,减轻zabbix-server的压力。

    • zabbix-agent

    zabbix-agent为部署在各个客户端上的组件,用于采集各个监控项目的数据,并把采集的数据传输给zabbix-proxy或zabbix-server。

  • zabbix 监控流程图

// 如果想要监控一个服务器,需要将主机添加到监控中心去,让他们两者之间通信,然后还要添加监控的项目。然后就能采集数据,将数据上报到所谓数据中心(mysql)去。其中采集过程可以是主动也可以是被动。zabbix-server需要配置一个告警规则。当采集数据值到达报警条件则告警,没达到就仅仅是存储。还需要配置一个告警机制。所有的配置都是在web界面配置的。所有的数据都以图形的形式在web界面呈现。

安装zabbix

准备工作

  • 两台机器:一台作为server (ip:192.168.159.131),一台作为client(ip:192.168.159.132)。

  • 两台机器均安装zabbix;server安装数据库 。

  • 可以yum 直接安装的zabbix,但是需要安装epel拓展源,而且版本是2.2,有点老旧。在此使用zabbix 官方提供的对应版本的yum 源安装较新版本的zabbix。

  • zabbix官网下载地址:www.zabbix.com/download

两台机器都安装zabbix的yum源仓库

到zabbix官网下载地址中下rpm包:
[root@localhost src]# wget # rpm -i http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm安装yum源仓库:
[root@localhost src]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm yum.repos.d下多少了一个zabbix.repo 文件:
[root@localhost src]# ls /etc/yum.repos.d/zabbix.repo
/etc/yum.repos.d/zabbix.repo

配置server端

  • 安装zabbix以及相关组件

    [root@localhost src]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
    // zabbix-agent:客户端程序
    // zabbix-get:服务端上命令行获取客户端检测项目的工具
    // zabbix-server-mysql:zabbix-server MySQL版
    // zabbix-web:web界面
    // zabbix-web-mysql:web界面MySQL相关

    // 该过程会连带安装PHP和HTTP

    // 安装mysql,可以使用yum安装,也可以使用二进制包安装。

  • 配置mysql

    // 启动mysql
    // 使用ps aux | grep mysqld 查看mysql服务是否启动。

    编辑mysql配置文件,添加下面内容:
    [root@localhost src]# vim /etc/my.cnf
    character_set_server = utf8
    // 设置默认字符集utf8目的是辅助web界面中文显示

    重启mysql:
    [root@localhost src]# /etc/init.d/mysqld restart
    Shutting down MySQL.. SUCCESS! 
    Starting MySQL. SUCCESS!

    进入mysql命令行,创建zabbix库和用户
    [root@localhost src]# mysql -uroot -p

    mysql> create database zabbix character set utf8;
    Query OK, 1 row affected (0.00 sec)
    // 创建zabbix库的时候指定编码为utf8

    mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456';
    Query OK, 0 rows affected (0.00 sec)
    // 创建zabbix是用来让php代码连接mysql的
    // 还有就是监控中心服务启动的前提是能够连接mysql
    // 客户端采集了数据需要把数据传递给服务端,服务端需要一个用户去将数据写入数据库

    mysql> quit
    Bye

    向zabbix库中导入原始数据:
    // 没有数据zabbix 就无法以web的形式展现给我们

    [root@localhost src]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/
    // 原始数据所在目录

    [root@localhost zabbix-server-mysql-3.2.11]# ls
    AUTHORS ChangeLog COPYING create.sql.gz NEWS README

    [root@localhost zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz 
    // 解压 create.sql.gz 包

    [root@localhost zabbix-server-mysql-3.2.11]# ls
    AUTHORS ChangeLog COPYING create.sql NEWS README

    [root@localhost zabbix-server-mysql-3.2.11]# mysql -uroot -p112233 zabbix < create.sql
    // 将create.sql 导入到zabbix库中

  • 启动zabbix、httpd服务

    启动zabbix-server 和http 服务:
    [root@localhost ~]# systemctl start zabbix-server
    [root@localhost ~]# systemctl start httpd
    // 启动httpd服务前,需先查看80端口是否被占用
    // 启动完之后再去查看下80端口是否是被httpd服务占用
    // 启动完之后检查zabbix状态是否正常
    // zabbix默认监听10051端口

    将zabbix-server和httpd设置为开机启动:
    [root@localhost ~]# systemctl enable zabbix-server
    [root@localhost ~]# systemctl enable httpd

  • 检查zabbix服务状态(进程、端口占用)时,发现服务启动没,但是没有监听端口,此时需要进行错误排查

    查看zabbix日志:
    [root@localhost ~]# less /var/log/zabbix/zabbix_server.log 
    3839:20180131:151323.944 using configuration file: /etc/zabbix/zabbix_server.conf
    3839:20180131:151323.975 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local
    MySQL server through socket '/var/lib/mysql/mysql.sock' (13)

    // 根据日志提示得知,zabbix不能正常连接mysql,需要去改一下配置文件

    修改配置文件:
    [root@localhost ~]# vim /etc/zabbix/zabbix_server.conf 
    DBHost=127.0.0.1
    // 此处写mysql所在机器的IP(生产环境中mysql可能单独使用一台机器)
    // 该IP应该和数据库授权时指定的来源IP一致
    DBName=zabbix
    DBUser=zabbix
    DBPassword=123456
    // 这些都是之前创建mysql用户中定义的

    重启zabbix服务:
    [root@localhost ~]# systemctl restart zabbix-server

    // 如果zabbix服务重启失败,则检查配置文件时候有错误。
    // 注意新加配置的大小写!!!

    查看zabbix服务的进程和端口:
    [root@localhost ~]# ps aux | grep zabbix
    // zabbix正常启动之后进程数量很多

    [root@localhost ~]# netstat -lntp | grep zabbix
    tcp 0 0 0.0.0.0:10051 0.0.0.0: LISTEN 4184/zabbix_server 
    tcp6 0 0 :::10051 :::
     LISTEN 4184/zabbix_server 
    // zabbix 占用的是10051端口

配置web界面

  • 使用浏览器访问server机器上的ip:192.168.159.131/zabbix 进入安装引导界面。

  • 进行操作前保证server已经关闭防火墙

  • 在yum安装zabbix时已经帮你安装了httpd以及配置文件,所有都配置好了。

1、使用浏览器访问server机器IP:192.168.159.131/zabbix

2、点击“Next step”进入检测界面

// 提示错误,PHP无法识别“data.timezone”(时区)

// 编辑php配置文件,更改时区

[root@localhost ~]# vim /etc/php.ini
date.timezone =Asia/Shanghai重启httpd服务:
[root@localhost ~]# systemctl restart httpd

3、配置数据库信息

4、定义zabbix 主机名

6、提示安装完成

7、进入登录界面

注意 : 管理员初始用户名admin密码zabbix

8、点击Administration 进入如下界面,点击Admin可以修改密码及语言等

9、修改密码及语言

// 修改完之后点击update即可生效。刷新即可显示中文界面。下次登录则需要使用新密码。

重置服务端zabbix管理员密码

  • 如果忘记zabbix(web界面)管理员密码,可通过zabbix服务器的数据库进行密码更改!

    进入mysql命令
    [root@localhost ~]# mysql -uroot -p
    切换库:
    mysql> use zabbix;

    更改密码:
    mysql> update users set passwd=md5('111222') where alias='Admin';
    // 新密码为111222

zabbix 客户端配置

  • 在安装zabbix之前,需要先下载yum源,安装yum源。(之前已经做过了)

  • 安装zabbix

    [root@localhost src]# yum install -y zabbix-agent
    // zabbix-agent 客户端

  • 编辑配置文件

    [root@localhost src]# vim /etc/zabbix/zabbix_agentd.conf 
    Server=192.168.159,131
    // 将Server改为监控中心机器ip
    // 93行

    ServerActive=192.168.159.131
    // 将ServerActive 改为监控中心机器ip
    // 136行
    // 如果只写上面那个server只能使用被动模式(只能等待服务端来采集信息)
    // 如果想主动上报则要配置serveractive(自动将信息上报给服务端)

    Hostname=Zabbix 01
    // 将hostname改成一个能够识别的主机名。
    // 147行
    // 该参数有利于更好的辨别服务端监控是哪台主机的状态

  • 启动zabbix-agent服务

    启动zabbix-agent服务:
    [root@localhost src]# systemctl start zabbix-agent

    查看zabbix进程:
    [root@localhost src]# ps aux | grep zabbix

    查看zabbix端口:
    [root@localhost src]# netstat -lntp | grep zabbix
    tcp 0 0 0.0.0.0:10050 0.0.0.0: LISTEN 5496/zabbix_agentd 
    tcp6 0 0 :::10050 :::
     LISTEN 5496/zabbix_agentd 
    // zabbix-agent监听的是10050端口

    设置zabbix-agent开机启动:
    [root@localhost src]# systemctl enable zabbix-agent

本文转自 豆渣锅 51CTO博客,原文链接:http://blog.51cto.com/754599082/2067400

linux监控平台介绍、zabbix监控介绍、安装zabbix相关推荐

  1. 轻量级监控平台之cpu监控

    轻量级监控平台之cpu监控脚本 #!/bin/bash #进程监控脚本 #功能需求: 上报机器的硬件层面-cpu负载数据. /etc/profile . ~/.bash_profilepushurl= ...

  2. TOOM网络舆情监控平台让舆情监控更智能,网络舆情监控平台有哪些

    现在有很多网络舆情监测平台,想问下哪个网络舆情监测平台比较专业和靠谱呢?TOOM网络舆情监控平台让舆情监控更智能,网络舆情监控平台有哪些,接下来我们简单了解一下. 一.舆情监控平台让舆情监控更智能 舆 ...

  3. 图文讲解Zabbix 分布式监控平台添加服务监控项(http,nginx,mysql)

    一.导语 此实验是在搭建好zabbix集群的基础上操作的,读者可查看文章 二.添加 http 服务监控项 http是zabbix自带的监控模板 点击 配置->主机-> server2 -& ...

  4. API监控平台,统一监控系统API

    API监控平台能实时对企业系统单个API或多步业务流程API进行监控,能正确地了解到API的运行状况,在发现异常时能及时告警,让运维人员能第一时间获取故障信息,及时解决,提升企业的整体业务质量. Re ...

  5. Maemo Linux手机平台分析系列:3 安装Maemo平台宿主Linux系统

    我们大多数单个主机都用的是Windows, 如果为了研究Maemo,还要把Windows的某个分区格式化,然后安装Linux,好像动静大了点.而且我们看文档一般习惯于在windows下面. 用vmwa ...

  6. 车载监控平台(VIMS)介绍

    一.概述 VIMS 作为车辆的眼睛,可直接观察车内用户的行为, 从而推断用户的需求, 借此可辅助其他产品,如语音.导航.场景引擎等,为提供用户贴心.周到的服 务. VIMS 包括 DMS 和 OMS, ...

  7. Maemo Linux手机平台系列分析:5 安装Maemo SDK

      这部分的内容: 前言 什么是Scratchbox? Scratchbox的组成 安装的前提条件 自动安装Scratchbox 自动安装Maemo SDK   前言 这部分主要介绍安装开发环境以及其 ...

  8. GB/T28181国标视频监控平台TINYGBS实现监控视频直播的详细搭建流程

    TinyGBS是基于GB/T28181-2016(公共安全视频监控联网系统信息传输.交换.控制技术要求)开发的成熟的.敏捷的.产品化的视频汇聚平台,支持标准的监控设备的接入和管理,在多个应用场景中成功 ...

  9. Linux监控平台 zabbix介绍和安装

    2019独角兽企业重金招聘Python工程师标准>>> 12月24日任务 19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabb ...

  10. 分布式部署Zabbix监控平台

    Zabbix监控的优点 Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案,Zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位 ...

最新文章

  1. linux字符设备驱动在哪里设置,从点一个灯开始学写Linux字符设备驱动!
  2. 使用minidom来处理XML的示例(Python 学习)(转载)
  3. SWAP Detector:GrammaTech 开源 DevOps 应用安全测试工具
  4. mysql大表数据抽取_从云数据迁移服务看MySQL大表抽取模式
  5. python debug run 结果不同_Python:PyCharm中运行与调试模式下的不同行为
  6. FullCalendar - 开源的多功能 JavaScript 日历插件
  7. 火狐浏览器无法选择安装盘
  8. 小程序实现tab切换
  9. 实现简单的滑块验证代码案例
  10. markdown颜色索引及表格背景颜色填充
  11. HTML CSS 学习笔记
  12. 【Vue3 第十四章】父子组件通信
  13. [zz] 关于字体和字体微调(Hinting )的知识
  14. 计算机vfp二级sql,计算机二级vfp-SQL命令集合.doc
  15. win10访问服务器文件夹慢,win10打开文件夹缓慢或假死问题怎么处理
  16. ORACLE 11G 闪回数据归档
  17. 计算机等级证书怎么考
  18. Windows死机代码翻译大全
  19. 山东科技大学物联网工程和计算机,物联网工程求介绍
  20. 设计模式学习(十四) 责任链模式 COR

热门文章

  1. (转载)一种根据纠偏数据对火星坐标进行完美拟合的方法
  2. 虚拟化正是云计算所依托的基石
  3. tomcat访问webapp下面工程的文件含有软连接
  4. poj2559/SP1805 Largest Rectangle in a Histogram
  5. GIS可视化——属性图
  6. XXX语录,可以不信,但不能不看
  7. UVA 11983 Weird Advertisement
  8. 在虚拟机中的Nginx的安装
  9. laravel 是怎么做到运行 composer dump-autoload 不清空 classmap 映射关系的呢?
  10. 从工业云到工业互联网平台演进的五个阶段