linux监控平台介绍、zabbix监控介绍、安装zabbix

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包:
[[email protected] src]# wget # rpm -i http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

安装yum源仓库:
[[email protected] src]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm 

yum.repos.d下多少了一个zabbix.repo 文件:
[[email protected] src]# ls /etc/yum.repos.d/zabbix.repo
/etc/yum.repos.d/zabbix.repo

配置server端

  • 安装zabbix以及相关组件

    [[email protected] 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配置文件,添加下面内容:
    [[email protected] src]# vim /etc/my.cnf
    character_set_server = utf8
    // 设置默认字符集utf8目的是辅助web界面中文显示

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

    进入mysql命令行,创建zabbix库和用户
    [[email protected] 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的形式展现给我们

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

    [[email protected] zabbix-server-mysql-3.2.11]# ls
    AUTHORS ChangeLog COPYING create.sql.gz NEWS README

    [[email protected] zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz
    // 解压 create.sql.gz 包

    [[email protected] zabbix-server-mysql-3.2.11]# ls
    AUTHORS ChangeLog COPYING create.sql NEWS README

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

  • 启动zabbix、httpd服务

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

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

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

    查看zabbix日志:
    [[email protected] ~]# 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,需要去改一下配置文件

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

    重启zabbix服务:
    [[email protected] ~]# systemctl restart zabbix-server

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

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

    [[email protected] ~]# 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配置文件,更改时区

[[email protected] ~]# vim /etc/php.ini
date.timezone =Asia/Shanghai

重启httpd服务:
[[email protected] ~]# systemctl restart httpd

3、配置数据库信息

4、定义zabbix 主机名

6、提示安装完成

7、进入登录界面

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

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

9、修改密码及语言

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

重置服务端zabbix管理员密码

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

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

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

zabbix 客户端配置

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

    [[email protected] src]# yum install -y zabbix-agent
    // zabbix-agent 客户端

  • 编辑配置文件

    [[email protected] 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服务:
    [[email protected] src]# systemctl start zabbix-agent

    查看zabbix进程:
    [[email protected] src]# ps aux | grep zabbix

    查看zabbix端口:
    [[email protected] 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开机启动:
    [[email protected] src]# systemctl enable zabbix-agent

原文地址:http://blog.51cto.com/754599082/2067400

时间: 2024-07-31 22:22:47

linux监控平台介绍、zabbix监控介绍、安装zabbix的相关文章

linux监控平台搭建(1)监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码

            (一)监控平台介绍 (二)zabbix监控介绍 (三)安装zabbix 实验需要两台机器:服务端(133)和客户端(134) 1.首先在服务端安装Zabbix的yum扩展源. 下载地址: www.zabbix.com/download wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm 2.安装一下这个rpm包 rpm -ivh zabbix-re

搭建zabbix(yum安装zabbix,ngixn,mysql,源码安装php)

yum安装zabbix,ngixn,mysql,源码安装php,并不是有特别的效果,而是zabbix源码安装失败了... 1.安装zabbix的repo2.yum 安装 3.yum安装mariadb mariadb-server4.创库zabbix,赋权给zabbix用户5.将zabbix文件的库导入mysql中 6.修改zabbix_server.conf配置文件7.启动开机自启zabbix_server.service 8.yum安装nginx9.修改nginx.conf配置文件,用ngin

监控软件介绍、安装zabbix

一:监控软件介绍 cacti.nagios.zabbix.smokeping.open-falcon等等cacti.smokeping偏向于基础监控,成图非常漂亮cacti.nagios.zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的

Zabbix运维监控平台快速搭建实录

一.Zabbix运行架构 Zabbix是一个企业级的分布式开源监控解决方案.它能够监控各种服务器的健康型.网络的稳定性以及各种应用系统的可靠性.当监控出现异常时,Zabbix通过灵活i的告警策咯,可以为任何事件配置基于邮件.短信.微信等告警机制.而这所有的一切,都可以通过Zabbix提供的Web界面进行配置和操作,基于Web的前端页面还提供了出色的报告和数据可视化功能.这些功能和特性使运维人员可以非常轻松的搭建一套功能强大的运维监控管理平台. Zabbix的运行架构图如下: 从图中可以看出Zab

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警 监控端配置:(192.168.4.5) 1基础环境:(实验环境可以关闭防火墙,但生产环境不能关闭,否则不安全,要设置相应规则) [[email protected]桌面]# /etc/init.d/iptables stop [[email protected]桌面]# setenforce 0 2搭建lamp平台,(它运行在lamp平台上) [[email protected]桌面]# yum -y install htt

监控和安全运维 1.8 zabbix服务端安装

1. Zabbix简介基于web的开源软件,开源监控系统状态也可以监控网络设备.和nagios不同的是zabbix会把获取的数据保存在数据库中,所以zabbix需要有数据库支持 Zabbix还可以自动发现主机和网络设备支持邮件和短信告警Zabbix大多配置都可以在web界面配置完成官网http://www.zabbix.com/ 2. 安装zabbix rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-

手把手教你在CentOS 7.4下搭建Zabbix监控(转)

Linux系统版本:CentOS 7.4 1.安装前需要先关闭selinux和firewall. 1.1 [[email protected] ~]# vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效 [[email protected] ~]# setenforce 0       #临时关闭 [[email protected] ~]# getenforce         #检测selinux是否

edwin报警和监控平台近期的更新(python源码)

edwin从发布以来, 得到了不少关注, 获得了不少star. 最近又做了一些很有意义的改进, 同时完善了部分文档. 项目地址: https://github.com/harryliu/edwin , 欢迎fork或PR, 如果喜欢, 请打star. 再次介绍一下edwin项目 edwin是一个报警和监控平台, 可以使用它监控任意东西, 如有异常(分为警告级和严重级), 可以发出报警. 可以自定义报警的通知方式, 比如邮件/短信/电话. 另外, 它提供一个web UI, 能以dashboard形

全新SaaS运维监控平台构建书

第一部分 引言 伴随的IT服务的发展,IT服务的概念也在发生着巨大的变化.IT运维服务已经由原来局限在用户自身环境下的IT服务,延伸到覆盖公用云.私有云.外包服务商等多纬度.全天候的SaaS运维模式, 从狭义理解,IT服务仅仅是为了解决信息系统出现的故障,在系统出现停顿的时候可以快速的恢复.而目前的IT服务已经包含了更多的内容,IT服务渗透在信息系统的整个生命周期之中.本文基于该理念,对IT服务系统的实现进行分析研究.文章基于网脊运维通SaaS(Software as aService)模式理念

edwin报警和监控平台开源了(python源码)

简单介绍一下edwin edwin是一个报警和监控平台, 可以使用它监控任意东西, 如有异常(分为警告级和严重级), 可以发出报警. 可以自定义报警的通知方式, 比如邮件/短信/电话. 另外, 它提供一个web UI,  上, 能以dashboard形式展现监控指标的状态. edwin对于监控项目的组织形式, 由小到大是:  check item -> pagelet ->page -> dashboard.  另外,可以为 check item指定一个或多个 team 来负责.  这样