精华内容
下载资源
问答
  • ZABBIX5.0监控安装手册

    千次阅读 2020-07-23 20:49:00
    友情提示:该教程是以官网的安装教程为基础进行了的优化,所有提供内容均为笔者验证可用。 什么是ZABBIX zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种...

    该教程是以官网的安装教程为基础进行了的优化,所有提供内容均为笔者验证可用。

    提供安装方式有两种分别为:二进制安装、Docker容器安装(推荐)


    什么是ZABBIX

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

    zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

    zabbix由2部分构成,zabbix server与可选组件zabbix agent。

    zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。


    准备工作

    系统准备(建议|可选)

    可以根据自身系统的要求选择性的参照此章节,如果是新安装的CentOS7操作系统建议执行该章节内容。

    • 备份镜像源

      # 备份源
      mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
      
    • 替换镜像源

      # 下载阿里云CentOS.repo
      curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      
    • 关闭防火墙

      # 关闭防火墙
      systemctl stop firewalld.service
      
      # 撤销开机启动
      systemctl disable firewalld.service
      
    • 关闭安全增强

      # 设置SELinux的运行模式
      setenforce 0
      
      # 设置SELINUX=disabled
      sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
      
    • 安装EPEL源

      yum install -y epel-release
      
    • 安装开发组件

      # 常用开发组件
      yum groups install -y "Development Tools"
      
    • 重启系统

      reboot
      

    数据库安装(可选)

    使用MYSQL或者MariaDB数据库,如果已有现成数据库则可以跳过该步骤。

    注:Oracle公司收购了MySQL后,有将MySQL闭源的潜在风险。社区采用分支的方式来避开这个风险,因此诞生了MariaDB。部分大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。

    如果打算Docker安装(推荐)也建议跳过此步骤,Docker有提供容器数据库安装。

    • 安装MariaDB

      yum install -y mariadb-server
      
    • 启动MariaDB

      # 启动MariaDB
      systemctl start mariadb.service
      
      # 设置为开启启动
      systemctl enable mariadb.service
      
    • 初始化数据库

      mysql_secure_installation
      

    数据库安装并初始化完成。


    ZABBIX安装

    本文提供安装方式有两种分别为:二进制安装、容器安装(强烈推荐)

    系统环境——

    • 发行版本:CentOS7.5 +
    • 内核版本:3.10 +

    二进制安装

    • 安装zabbix5.0镜像源

      # 安装Zabbix镜像源
      rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
      
      yum clean all
      
    • 安装zabbix-server-mysql与zabbix-agent

      yum install -y zabbix-server-mysql zabbix-agent
      
    • 安装zabbix-frontend

      开启Red Hat软件集合

      yum install -y centos-release-scl
      

      编辑/etc/yum.repos.d/zabbix.repo文件

      [zabbix-frontend]
      ...
      enabled=1
      ...
      
      yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
      
    • 配置zabbix数据库

      # 使用root用户登录(密码自行修改)
      mysql -uroot -proot
      
      # 新建zabbix用户与数据库
      MariaDB> create database zabbix character set utf8 collate utf8_bin;
      MariaDB> create user `zabbix`@`%` identified by 'Zabbix@Password';
      MariaDB> grant all privileges on zabbix.* to `zabbix`@`%`;
      
    • 初始化数据

      zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pZabbix@Password zabbix
      
    • Zabbix server配置数据库

      编辑配置文件/etc/zabbix/zabbix_server.conf

      DB开头的参数均为数据库参数,根据Mysql|MariaDB的配置修复即可。如下所示——

      ...
      DBHost=localhost
      ...
      DBPassword=Zabbix@Password
      ...
      
    • Zabbix前端配置PHP

      编辑配置文件/etc/opt/rh/rh-php72/php.ini

      ...
      max_execution_time = 300
      ...
      post_max_size = 16M
      ...
      date.timezone = Asia/Shanghai
      ...
      

      编辑配置文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

      ...
      listen.acl_users = apache,nginx
      ...
      ; php_value[date.timezone] = Asia/Shanghai
      ...
      

      编辑配置文件/etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

      # port
      listen 80;
      
      # server_ip_or_name
      server_name 192.168.1.100;
      
    • 启动Zabbix server和agent进程

      启动Zabbix server和agent进程,并为它们设置开机自启。

      # 启动
      systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
      
      # 开机自启
      systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
      
    • 进入UI安装界面

      输入nginx配置的host跟port,例如http://192.168.1.100进入后需要安装。

      点击下一步。

      这里是验证是否满足安装条件,我们之前修复改配置因此全部OK,直接下一步。

      输入数据库信息,之前笔者配置的密码是Zabbix@Password

      这里要注意Zabbix server需要与配置保持一致。

      确认无误之后直接下一步。

      完成安装。

    • 登录zabbix

      账号/密码为Admin/zabbix

      成功登录后进入zabbix监控页面。


    docker安装

    推荐使用容器化安装zabbix。

    • 安装mysql

      docker run -it --rm \
      --privileged=true \
      --name mysql-server \
      -p 3306:3306 \
      -v /opt/docker/zabbix/zabbix-mysql/log:/var/log/mysql \
      -v /opt/docker/zabbix/zabbix-mysql/data:/var/lib/mysql \
      -v /opt/docker/zabbix/zabbix-mysql/conf:/etc/mysql \
      -e MYSQL_ROOT_PASSWORD="root" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="Zabbix@Password" \
      -e TZ="Asia/Shanghai" \
      -d mysql:5.7 \
      --character-set-server=utf8mb4 \
      --collation-server=utf8mb4_bin \
      --lower_case_table_names=1
      
    • 安装zabbix-java-gateway

      docker run -it --rm \
      --privileged=true \
      --name zabbix-java-gateway \
      -d zabbix/zabbix-java-gateway:latest
      
    • 安装zabbix-server

      docker run -it --rm \
      --privileged=true \
      --name zabbix-server-mysql \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="Zabbix@Password" \
      -e MYSQL_ROOT_PASSWORD="root" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:latest
      
    • 安装zabbix-web

      docker run -it --rm \
      --privileged=true \
      --name zabbix-web-nginx-mysql \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="Zabbix@Password" \
      -e MYSQL_ROOT_PASSWORD="root" \
      -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -e ZBX_SERVER_PORT=10051 \
      -e ZBX_POSTMAXSIZE=1024M \
      -e PHP_TZ="Asia/Shanghai" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 18080:8080 \
      -p 18443:8443 \
      -p 10080:80 \
      -d zabbix/zabbix-web-nginx-mysql:latest
      
    • 安装zabbix-agent

      docker run -it --rm \
      --privileged=true \
      --name zabbix-agent \
      -e ZBX_HOSTNAME="Zabbix server" \
      -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -p 10050:10050 \
      --link zabbix-server-mysql:zabbix-server \
      -d zabbix/zabbix-agent:latest
      
    • 修改host地址

      注意因为agent是使用容器,因此这里需要配置容器IP。

      # 获取zabbix-agent的IP地址
      docker inspect --format='{{.NetworkSettings.IPAddress}}' zabbix-agent
      

    尾声

    以上就是ZABBIX5.0的安装流程,后续笔者会介绍ZABBIX的功能模块与实践。


    展开全文
  • 安装Zabbix5.0服务并监控服务器

    万次阅读 2020-05-13 18:29:22
    Zabbix 服务安装部署及监控配置 实战-配置监控进程主机 Zabbix简介 官方网站:http://www.zabbix.com/ Zabbix 是企业级监控系统的开源解决方案,是一个基于 WEB 界面的分布式监控服务器。 主要特点: Zabbix 安装不...

    Zabbix 简介
    Zabbix 服务安装部署及监控配置
    实战-配置监控远程主机


    在这里插入图片描述

    Zabbix简介

    官方网站:http://www.zabbix.com/
    Zabbix 是企业级监控系统的开源解决方案,是一个基于 WEB 界面的分布式监控服务器。
    主要特点:
    Zabbix 安装不配置简单,学习成本低,支持多语言(包括中文),免费开源,自动发现服务器与网络
    设备,分布式监视,良好的 WEB 界面交互等通知功能
    Zabbix 主要监控服务器:CPU 负载、内存使用、磁盘使用、网络状态、端口监视、日志监视。
    Zabbix 运行机制
    Zabbix Server 可以通过 SNMP,Zabbix agent,Ping,端口监视等方法监控服务器状态。可以
    在 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多平台运行。
    Zabbix Agent 安装在被监控的服务器上,主要完成对内存,CPU,磁盘等信息收集。
    Agent [ˈeɪdʒənt] 代理人

    Zabbix 运行过程图
    在这里插入图片描述

    Zabbix 运行过程图
    (1)、Agent 从服务器中收集相关数据,传送给 Zabbix Server
    (2)、Server 把数据存储到数据库中
    (3)、Server 把数据分析之后以 Web 页面,展示出来。
    zabbix-server 监听端口:10051 ; Agent 监控端口 10050 。
    服务端安装 Zabbix Server 和 Zabbix Agent 两个服务,客户端只安装 Zabbix Agent 一个服务。

    Zabbix 服务安装部署及监控配置

    安装 LAMP 环境
    我们需要先构建 LAMP 的环境,因为 Zabbix 通过 PHP 页面展示数据。
    1、安装 lamp 环境

    yum -y install httpd mariadb mariadb-server 
    yum install centos-release-scl
    #安装官方扩展源
    yum -y install rh-php72
    #安装zabbix5.0所需rh-php-72
    

    2、安装 zabbix 需要的 php 库
    后续安zabbix5.0要求安装

    安装 Zabbix-server
    1、安装 zabbix yum 源
    **注:**zabbix 官方源在中国无法使用,而且每个人网络环境无法保障,所以我们可以选择配置本地 yum
    源进行离线安装。

    xshell上传所需rpm包

    在这里插入图片描述
    我这边在清华大学镜像源下载的。附地址
    https://mirrors.tuna.tsinghua.edu.cn/zabbix/

    yum源

    yum -y install https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    

    依次安装

    依赖包装一下

    yum install OpenIPMI OpenIPMI-libs OpenIPMI-modalias
    unixODBC fping -y
    

    rpm -ivh 这边不作详细描述

    zabbix-agent #客户端
    zabbix-web #zabbix的web页面
    zabbix-server-mysql #服务器包
    zabbix-apache-conf #Apache conf.d下配置文件 ( 4.4装完web-mysql httpd配置文件下会有zabbix.conf 5.0的话需要单独安装)

    zabbix-web 还是server来着我忘记了 安装过程中会提示需要php依赖
    zabbix-web-deps-scl 这个需要php扩展包若干


    rh-php72-php-mysqlnd

    rh-php72-php-bcmath rh-php72-php-fpm rh-php72-php-gd rh-php72-php-ldap rh-php72-php-mbstring


    yum -y install rh-php72-php-mysqlnd
    yum -y install rh-php72-php-bcmath rh-php72-php-fpm rh-php72-php-gd rh-php72-php-ldap rh-php72-php-mbstring

    依赖解决之后 zabbix5.0所需六个包全部装好

    配置Zabbix Server

    启动数据库

    systemctl restart mariadb.service
    systemctl enable mariadb.service
    systemctl stop firewalld && systemctl disable firewalld #关闭防火墙
    

    创建初始数据库
    mysql -uroot
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    **注:**character set utf8:设置数据库的默认字符集编码为 utf8 ;
    collate utf_bin:是以二进制值比较,也就是区分大小写,collate 是核对的意思
    character [ˈkærəktə®] 特征 ; collate [kəˈleɪt] 核对,整理
    MariaDB [(none)]>

    grant all privileges on zabbix.* to zabbix@localhost identified by
    'password';
    

    **注:**创建 zabbix 用户,密码是 passwod
    MariaDB [(none)]> exit;

    zabbix表导入mariadb

     zcat /usr/share/doc/zabbix-server-mysql-4.4.6/create.sql.gz |
    mysql -u zabbix -p zabbix
    

    Enter password: 输入 password
    zcat 命令 用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。
    cat直接查看为乱码

    可登录数据库查看导入的表
    mysql -u root -p zabbix
    在这里插入图片描述

    修改zabbix配置文件
    vim /etc/zabbix/zabbix_server.conf
    91 # DBHost=localhost #数据库的 IP 地址 ,默认就可以
    100 DBName=zabbix #数据库名,默认就可以
    116 DBUser=zabbix #违接数据库授的用户是 zabbix,默认就可以
    改:124 # DBPassword=
    为:DBPassword=password #mysql 用户 zabbix 的密码 password

    vim /etc/httpd/conf.d/zabbix.conf
    

    #5.0不安装zabbix-apache-conf-scl 没有这个配置文件
    在这里插入图片描述
    Apache Alias 网站别名作用:为站点 URI 定义一个路径映射关系。
    当访问http://192.168.x.x/zabbix目录下的文件时,会直接从服务器
    /usr/share/zabbix 目录下访问对应的文件。/usr/share/zabbix 下存储着 zabbix web 网站代码
    4.4版本需要在该配置文件中更改时区
    改:20 # php_value date.timezone Europe/Riga
    为:20 php_value date.timezone Asia/Shanghai

    监控Zabbix Server本身

    vim /etc/zabbix/zabbix_agentd.conf
    

    119 Server=127.0.0.1 #指定 zabbix服务器的 IP 地址
    160 ServerActive=127.0.0.1 #开启主动模式
    171 Hostname=Zabbix server
    改:330 # UnsafeUserParameters=0
    为:330 # UnsafeUserParameters=0 #不安全的用户参数。是否允许自定义脚本传递特殊
    字符作为参数,通常不用开。
    扩展:主动模式流程如下:
    (1)、Agent 主动找 server 要需要采集的数据
    (2)、Server 响应 Agent,发送要采的数据内容
    (3)、Agent 开始周期性地收集数据
    后期可以在配置时指定客户端主动模式

    安装Zabbix-Wbe前端页面
    启动服务

    systemctl restart zabbix-server zabbix-agent httpd mariadb rh-php72-php-fpm
    systemctl enable zabbix-server zabbix-agent httpd mariadb rh-php72-php-fpm
    

    浏览器访问
    http://192.168.x.x/zabbix
    在这里插入图片描述
    开始检查环境,确认所有选项都为 ok。在这里插入图片描述
    这里需要修改php.ini 时区
    如果不 ok,可以编辑 php.ini 文件,修改环境

    vim /etc/php.ini
    

    改: post_max_size = 8M
    为: post_max_size = 16M
    改: max_execution_time = 30
    为: max_execution_time = 300
    改: max_input_time = 60
    为: max_input_time = 300
    改: ;date.timezone =
    为: date.timezone = Asia/Shanghai
    在这里插入图片描述
    #输入用于违接数据库的详细信息。Zabbix 数据库必须已经创建。
    在这里插入图片描述
    #请输入 Zabbix 服务器的主机名戒主机 IP 地址和端口号,以及安装的名称(可选)。
    端口0为默认3306

    下面两页下一步 忘记截图
    登录Zabbix并配置修改语音为中文 默认用户名为Admin,密码zabbix
    在这里插入图片描述
    点击左下角用户头像 更改语言为中文
    在这里插入图片描述

    暂时安装就这些 添加被监控客户端有时间在补充

    配置监控进程主机

    安装agent客户端

    rpm -ivh zabbix-agent-5.0.0-1.el7.x86_64.rpm 
    

    配置Agentd的配置文件

    vim /etc/zabbix/zabbix_agentd.conf
    

    改:Server=127.0.0.1
    为:Server=192.168.x.x #zabbix server 地址,可以多个,用“,”隔开
    改:ServerActive=127.0.0.1
    为:ServerActive=192.168.x.x #主动检查本主机的数据发送给 Zabbix Server
    改:Hostname=Zabbix server
    为:Hostname=客户端ip

    启动服务

    systemctl start zabbix-agent && systemctl enable zabbix-agent
    
    netstat -lntp | grep 10050
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      5512/zabbix_agentd  
    tcp6       0      0 :::10050                :::*   
    

    在服务端测试通讯
    zabbix_get 命令是在 server 端用来检查 agent 端的一个命令,在添加完主机或者触发器后,不能
    正常获得数据,可以用 zabbix_get 来检查能否采集到数据,以便判断问题所在。
    zabbix_get 参数说明:
    -s --host: 指定客户端主机名或者 IP
    -p --port:客户端端口,默认 10050
    -I --source-address:指定源 IP,写上 zabbix server 的 ip 地址即可,一般留空,服务器如果有多
    ip 的时候,你指定一个。
    -k --key:你想获取的 key

    zabbix_get -s 192.168.43.42 -p 10050 -k system.uname
    

    Linux xxxxx 3.10.0-693.el7.x86_64 xxxxxxxxxxxxxx
    以上可以获取对方系统版本则证明没有问题

    如果不知道 key 参数可以使用 zabbix_agentd -p 寻找自己想要找的参数

    zabbix_agentd -p | grep system.cpu.load
    system.cpu.load[all,avg1]
    
    zabbix_get -s 192.168.43.42 -p 10050 -k system.cpu.load[all,avg1]
    0.000000
    

    将客户端主机添加到zabbix服务器上并监控
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    选择 zabbix agent 模版监控模板,来监控x 上运行状态
    注: zabbix agent 模版和 zabbix agent active 版本不能同时选择,有冲突
    在这里插入图片描述
    选择模板后点击添加即可。

    在这里插入图片描述
    添加后状态为已启动,等待可用性也变为绿色就可以正常获取数据了。我这边没开那台机器
    监控Apache Mysql等服务 以及邮件&企业微信 钉钉报警后续有时间补充

    展开全文
  • Monit监控软件安装

    千次阅读 2016-07-25 18:03:38
    Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用...我们以服务器IP地址:10.153.126.189,为例进行配置,监控10.153.110.12, 10.153.75.78这两台服务器。 一、安装Monit: # yum install moni...

    Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用于Linux/Unix平台。官网地址:https://mmonit.com/

    在CentOS 6.4上配置Monit的步骤:

    我们以服务器IP地址:10.153.126.189,为例进行配置,监控10.153.110.12, 10.153.75.78这两台服务器。

    一、安装Monit:

    # yum install monit –y

    这一步可能会报错:

    # yum install monit –y
    Loaded plugins: fastestmirror, security
    Determining fastest mirrors
    Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

    解决方法:

    vi /etc/yum.repos.d/epel.repo

    编辑[epel]下的baseurl前的#号去掉,mirrorlist前添加#号。正确配置如下:

    [epel]
    name=Extra Packages for Enterprise Linux 6 - $basearch
    baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
    #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
    failovermethod=priority
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

    至此Monit安装完毕,接下来配置monit.conf文件

    二、monit配置:

    1、文件位置在/etc/monit.conf,修改常见配置:

    1)检测时间、日志位置:

    set daemon 120
       with start delay 240
    set logfile syslog facility log_daemon

    每120s检测一次;启动后延时240s开始检测;

    日志文件位置;

    2)id文件

    set idfile /var/monit/id
    set eventqueue
         basedir /var/monit

    我们必须定义“idfile”,Monit守护进程的一个独一无二的ID文件;
    “eventqueue”,当monit的邮件因为SMTP或者网络故障发不出去,邮件会暂存在这里;以及确保/var/monit路径是存在的。然后使用下边的配置就可以了;

    3)设置web界面:

    set httpd port 1966 and
         SSL ENABLE
         PEMFILE  /var/certs/monit.pem
         allow monituser:romania
         allow localhost
         allow 192.168.0.0/16
         allow myhost.mydomain.ro

    2、监控信息可以直接写到/etc/monit.conf文件中,也可以单独创建一个.cfg后缀的文件,将check... if 语句添加到里面,然后在monit.conf文件末尾加入include路径。

    set daemon 30         # 每30秒查询一次服务器状态
    
    set logfile /data/apps/monit/log/monit.log    # 默认日志位于 /var/log/monit 
    
    set idfile /var/.monit.id
    
    set eventqueue
    basedir /data/apps/monit/data
    slots 10000
    
    set httpd port 2812 and             # 监听2812端口
    use address 10.153.126.189     # 本服务器地址,这里我们的Monit安装到了10.153.126.189这台服务器上。
    allow localhost 
    allow 10.1.0.0/255.255.0.0
    allow admin : pin                      # 在这里设置用户名及口令。admin为用户名,冒号后为密码。
    
    # 接下来设置要监听的服务器
    
    # address后面的是服务器的IP地址。第二行设置port端口号。exec后为当异常情况出现后执行的脚本。可以添加多个check ... if 语句,同时监听很多台服务器
    
    # 这里 /data/apps/monit/contrib/sms.py这个脚本负责报警
    
    check host read_kajuan_10.153.110.12 with address 10.153.110.12
          if failed port 80 with timeout 1 seconds for 2 cycles then exec "/data/apps/monit/contrib/sms.py"
    
    check host read_kajuan_10.153.75.78 with address 10.153.75.78
          if failed port 80 with timeout 1 seconds for 2 cycles then exec "/data/apps/monit/contrib/sms.py"
    
    #include /etc/monit.d/*

    三、常见监控:

    1、根据ip+端口,监控web服务器端口存活:

    check host gamecenter_api_10.153.123.2 with address 10.153.123.2
        if failed port 8093 with timeout 1 seconds for 2 cycles then exec "/data/apps/monit/contrib/sms.py"

    表示:在两次监控周期内,如果端口超时超过1m则报警。

    2、根据pid,监控服务进程:

    check process tomcat with pidfile /var/run/catalina.pid     # 进程pid
        start program = "/etc/init.d/tomcat start"              # 设置启动命令
        stop program  = "/etc/init.d/tomcat stop"               # 设置停止命令
        if 9 restarts within 10 cycles then timeout             # 设置在10个监视周期内重,启了9次则超时,不再监视这个服务。原因另外说明【3】
        if cpu usage > 90% for 5 cycles then alert              # 如果在5个周期内该服务的cpu使用率都超过90%则提示
        if failed url http://127.0.0.1:4000/ timeout 120 seconds for 5 cycles then restart # 若连续5个周期打开url都失败(120秒超时,超时也认为失败)则重启服务

    设置超时后不再监视是为了让服务不要一直重启,如果连续重启多次不成功,极有可能再重启下去也不会成功的。并且tomcat的重启需要占用大量系统资源,假如一直重启下去,反而会使其它服务也无法正常运作。

    3、可以对moint本身服务器进行监控:

    # 系统名称,可以是IP或域名
    check system www.example.com
        if loadavg (1min) > 4 then alert
        if loadavg (5min) > 2 then alert
        if memory usage > 75% then alert
        if cpu usage (user) > 70% then alert
        if cpu usage (system) > 30% then alert
        if cpu usage (wait) > 20% then alert

    4、实例:

    #
    # 监控nginx
    #
    # 需要提供进程pid文件信息
    check process nginx with pidfile /var/run/nginx.pid
        # 进程启动命令行,注:必须是命令全路径
        start program = "/etc/init.d/nginx start"
        # 进程关闭命令行
        stop program  = "/etc/init.d/nginx stop"
        # nginx进程状态测试,监测到nginx连不上了,则自动重启
        if failed host www.example.com port 80 protocol http then restart
        # 多次重启失败将不再尝试重启,这种就是系统出现严重错误的情况
        if 3 restarts within 5 cycles then timeout
        # 可选,设置分组信息
        group server
    
    #   可选的ssl端口的监控,如果有的话
    #    if failed port 443 type tcpssl protocol http
    #       with timeout 15 seconds
    #       then restart
    
    #
    # 监控apache
    #
    check process apache with pidfile /var/run/apache2.pid
        start program = "/etc/init.d/apache2 start"
        stop program  = "/etc/init.d/apache2 stop"
        # apache吃cpu和内存比较厉害,额外添加一些关于这方面的监控设置
        if cpu > 50% for 2 cycles then alert
        if cpu > 70% for 5 cycles then restart
        if totalmem > 1500 MB for 10 cycles then restart
        if children > 250 then restart
        if loadavg(5min) greater than 10 for 20 cycles then stop
        if failed host www.example.com port 8080 protocol http then restart
        if 3 restarts within 5 cycles then timeout
        group server
        # 可选,依赖于nginx
        depends on nginx
    
    #
    # 监控spawn-fcgi进程(其实就是fast-cgi进程)
    #
    check process spawn-fcgi with pidfile /var/run/spawn-fcgi.pid
        # spawn-fcgi一定要带-P参数才会生成pid文件,默认是没有的
        start program = "/usr/bin/spawn-fcgi -a 127.0.0.1 -p 8081 -C 10 -u userxxx -g groupxxx -P /var/run/spawn-fcgi.pid -f /usr/bin/php-cgi"
        stop program = "/usr/bin/killall /usr/bin/php-cgi"
        # fast-cgi走的不是http协议,monit的protocol参数也没有cgi对应的设置,这里去掉protocol http即可。
        if failed host 127.0.0.1 port 8081 then restart
        if 3 restarts within 5 cycles then timeout
        group server
        depends on nginx

    注意:

    1. start和stop的program参数里的命令必须是全路径,否则monit不能正常启动,比如killall应该是/usr/bin/killall。
    2. 对于spawn-fcgi,很多人会用它来管理PHP的fast-cgi进程,但spawn-fcgi本身也是有可能挂掉的,所以还是需要用monit来监控spawn-fcgi。spawn-fcgi必须带-P参数才会有pid文件,而且fast-cgi走的不是http协议,monit的protocol参数也没有cgi对应的设置,一定要去掉protocol http这项设置才管用。
    3. 进程多次重启失败monit将不再尝试重启,收到这样的通知邮件表明系统出现了严重的问题,要引起足够的重视,需要赶紧人工处理。
    4. 当然monit除了管理进程之外,还可以监控文件、目录、设备等,本文不做讨论,具体配置方式可以去参考monit的官方文档

    参考:

    http://www.cnblogs.com/ddr888/archive/2011/03/02/1969087.html

    http://feilong.me/2011/02/monitor-core-processes-with-monit

    http://www.vpser.net/manage/monit.html

    http://itoedr.blog.163.com/blog/static/1202842972014529115715267/

    https://www.rails365.net/articles/bu-shu-zhi-shi-yong-monit-lai-jian-kong-fu-wu-si

    http://linuxjcq.blog.51cto.com/3042600/717843

    https://segmentfault.com/a/1190000002867212

    展开全文
  • 源码安装Zabbix5.0监控系统

    千次阅读 2020-08-05 00:09:50
    Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案,Zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位并解决存在的各种问题。Zabbix分布式监控...

    简介

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

    • 支持自动发现服务器和网络设备;
    • 支持底层自动发现;
    • 分布式的监控体系和集中式的WEB管理;
    • 支持主动监控和被动监控模式;
    • 服务器端支持多种操作系统:Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, MAC等;
    • Agent客户端支持多种操作系统:Linux, Solaris, HP-UX, AIX, FreeBSD,Windows等;
    • 基于SNMP、IPMI接口方式、Agent方式;
    • 安全的用户认证及权限配置;
    • 基于WEB的管理方法,支持自由的自定义事件和邮件、短信发送;
    • 高水平的业务视图监控资源,支持日志审计,资产管理等功能;
    • 支持高水平API二次开发、脚本监控、自Key定义、自动化运维整合调用。

    目前主流的开源监控软件平台

    • MRTG;
    • Cacti;
    • Nagios;
    • Ganglia;
    • Zabbix;
    • Prometheus;

    Zabbix主要监控的层面

    Zabbix监控是一款开源的、免费的、分布式(支持多个Proxy节点)的监控平台,主要是用于监控IT设备、网站、数据库、业务系统等,主要监控的层面有四个:

    • 硬件层面
      Zabbix可以监控硬件设备,例如监控硬件服务器:CPU温度、风扇转速、硬盘异常、电源异常、机箱是否被黑客入侵等;
    • 软件层面
      Zabbix可以监控应用程序、软件服务,例如监控Apache、Nginx、Tomcat、MQ、ZK、LVS、Keepalived、PHP、MYSQL等服务进程、状态、监听端口;
    • 系统层面
      Zabbix可以监控Windows/Linux操作系统,例如监控操作系统:CPU、MEM、DISK、NET、I/O、Process、User login、Open files、Load、TCP等状态;
    • 网络层面
      Zabbix可以监控网络设备,例如监控防火墙、路由器、交换机:入口、出口带宽,监控设备之间连通性、丢包率、流量等;

    Zabbix监控平台必备的5大组件

    要能够熟练构建Zabbix平台&掌握Zabbix监控平台,必须要了解Zabbix监控平台必备的5大组件

    • Zabbix-WEB
      Zabbix WEB是Zabbix监控平台前端访问入口(WEB界面),是基于PHP语言编写的UI界面,主要是用于方便管理人员对监控平台配置、管理、查看等;
    • Zabbix-Database
      Zabbix Database是整个监控平台后端数据库存储,使用关系型数据库:MYSQL、Mariadb、Oracle、DB2等,主要用于存储后端的监控数据、用户、密码权限信息等;
    • Zabbix-Server
      Zabbix Server是整个监控平台核心组件,主要是用于收集、汇总客户端的监控数据,并且将监控数据持久化保存至数据库中,可以支持批量监控、自动发现等功能;
    • Zabbix-Proxy
      Zabbix Proxy是监控平台-分布式节点,主要为了分担Zabbix Server压力,可以代替Server去监控、收集客户端的数据,最终会将数据统一发送给Server。
    • Zabbix-Agent
      Zabbix Agent是整个监控平台被监控的对象,也被称为客户端,客户端服务器安装插件,通过客户端插件可以监控自身服务器的监控数据(CPU、MEM、DISK等),最终可以将本地的数据主动(主动模式、被动模式)上报给Server、Proxy;
      在这里插入图片描述

    源码部署Zabbix Server端

    官网地址:https://www.zabbix.com/cn/whats_new_5_0
    在这里插入图片描述

    (1)系统环境

    Server端:192.168.2.214
    Agent端:192.168.2.215

    (2)关闭防火墙、selinux

    systemctl stop firewalld && systemctl disable firewalld
    sed -i ‘s/^SELINUX=./SELINUX=disabled/’ /etc/selinux/config && setenforce 0

    (3)lamp的安装

    LAMP参考我的其他博客,都有源码编译一键安装的脚本,从而实现源码lamp+源码zabbix安装

    php 需要>=7.2这里使用php7.3 版本

    #安装httpd和mariadb
    yum install epel-release wget tar httpd httpd-devel httpd-tools mariadb mariadb-server mariadb-devel  -y
    #安装php7.3版本
    #先安装remi
    yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm  
    #卸载历史版本php,可使用 rpm -e卸载
    yum --enablerepo=remi-php73 install php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-xml
    systemctl enable php73-php-fpm
    systemctl start php73-php-fpm
    

    (4)从官网下载Zabbix软件包

    tips:设置vi /etc/resolv.conf如下,下载更快哦!
    namerver 114.114.114.114

    yum -y install  epel-release wget tar
    wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.2.tar.gz
    

    (5)解压软件包

    tar -xzvf zabbix-5.0.2.tar.gz
    cd zabbix-5.0.2
    

    (6)安装依赖包

    yum -y install gcc gcc-c++ curl curl-devel net-snmp net-snmp-devel perl-DBI libxml2-devel libevent-devel pcre
    

    (7)创建zabbix用户

    groupadd  zabbix
    useradd  -g  zabbix zabbix
    usermod  -s  /sbin/nologin  zabbix
    

    (8)创建数据库并导入初始化

    启动数据库服务并登陆

    systemctl start mariadb;
    ps -ef|grep mariadb
    mysql     21646  21484  0 08:54 ?        00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
    
    [root@localhost zabbix-5.0.2]# mysql
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 2
    Server version: 5.5.65-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> 
    
    

    创建zabbix数据库,执行授权命令:

    create database zabbix character set utf8 collate utf8_bin;
    grant all on zabbix.* to zabbix@localhost identified by '123456';
    flush privileges;
    

    解压zabbix软件包并将Zabbix基础SQL文件导入数据至Zabbix数据库:

    tar   zxvf  5.0.2.tar.gz
    cd   zabbix-5.0.2
    mysql -uzabbix -p123456 zabbix <database/mysql/schema.sql
    mysql -uzabbix -p123456 zabbix <database/mysql/images.sql
    mysql -uzabbix -p123456 zabbix < database/mysql/data.sql
    

    (9)预编译、编译、安装

    切换至Zabbix解压目录,执行如下代码,安装Zabbix_server:

    ./configure --prefix=/usr/local/zabbix  --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
    make&&make install
    chown zabbix:zabbix /usr/local/zabbix/ -R
    

    (10)创建软连接,使系统能发现zabbix*命令

    ln -s /usr/local/zabbix/sbin/zabbix_*  /usr/local/sbin/
    

    (11)配置zabbix_server\zabbix_agentd启动脚本

    zabbix_server默认监听端口为10051。

    cd zabbix-5.0.2
    cp  misc/init.d/tru64/{zabbix_agentd,zabbix_server}  /etc/init.d/;chmod o+x /etc/init.d/zabbix_*
    

    (12)配置整合apache和php

    #整合apache和php
    cd zabbix-5.0.2
    cp -a  ui/* /var/www/html/
    chown -R apache:apache /var/www/html/
    

    (13)修改配置Zabbix server配置文件

    Zabbix server安装完毕,cd /usr/local/zabbix/etc/目录,如图所示:
    在这里插入图片描述

    备份Zabbix server配置文件,代码如下:

    cp  zabbix_server.conf  zabbix_server.conf.bak
    

    修改zabbix_server.conf配置文件中代码设置为如下:

    LogFile=/tmp/zabbix_server.log
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=123456
    

    (14)重新启动Zabbix Server、HTTP、MYSQL服务,代码如下:

    /etc/init.d/zabbix_server  restart
    systemctl restart httpd 
    systemctl restart mariadb
    

    Zabbix WEB GUI安装配置

    通过浏览器Zabbix_WEB验证,通过浏览器访问http://192.168.2.214/,如图所示:
    在这里插入图片描述
    存在php验证不通过的项,因此还是强烈推荐使用php7.2版本,直接过
    在这里插入图片描述
    修改/etc/opt/remi/php73/php.ini文件对应的失败项如下
    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    date.timezone = Asia/Shanghai

    重启php和httpd

    systemctl restart php73-php-fpm
    systemctl restart httpd
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    源码部署Zabbix Agent端

    当然视情况而定也可以yum安装agent也一样可以使用,此处还是使用源码编译安装

    #配置域名源
    rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm #鉴于国内网络情况,使用阿里云 zabbix 源 sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo yum clean all
    #安装agent
    yum install zabbix-server-mysql zabbix-agent -y
    #启动agent
    systemctl restart zabbix_agent

    安装依赖包创建用户

    yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
    groupadd zabbix ;
    useradd -g zabbix zabbix;usermod -s /sbin/nologin zabbix
    

    源码编译服务端下载的zabbix-5.0.2.tar.gz包

    tar -xzf zabbix-5.0.2.tar.gz
    cd zabbix-5.0.2
    ./configure  --prefix=/usr/local/zabbix  --enable-agent&&make install
    

    创建软连接

    ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
    

    配置启动脚本

    cd zabbix-5.0.2
    cp  misc/init.d/tru64/zabbix_agentd  /etc/init.d/zabbix_agentd
    chmod o+x /etc/init.d/zabbix_agentd
    

    修改配置

    vim /usr/local/zabbix/etc/zabbix_agentd.conf
    LogFile=/tmp/zabbix_agentd.log
    Server=192.168.2.214  #server端ip
    ServerActive=192.168.2.214 #server端ip
    Hostname = 192.168.2.215  #agent端ip或者是主机名都可以
    

    启动agent

    /etc/init.d/zabbix_agentd
    
    展开全文
  • Centos7安装Nagios监控服务

    千次阅读 2018-01-23 11:39:17
    在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。 Nagios 可以监控的功能有: 1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);
  • zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  • Dubbo监控中心的介绍与安装

    千次阅读 2017-06-07 15:14:45
    监控中心(Monitor)的作用: 监控中心负责统计各服务器调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示。...1)Monitor可以不安装。 2)Monitor挂掉不会影响到Consumer和P
  • 国家级七要素自动气象观测站网络状态监控预警电话通知系统 一、简 介 自动站网络状态监控预警电话通知系统是为了实时监 控气象自动观测站与气象自动观测站数据接收服务器之间 网络的联通性而开发的。当气象自动...
  • (渝标)关于印发公共汽车和“两客一危”车辆按照智能视频监控实施方案的补充通知
  • Dubbo监控中心的介绍与简易监控中心的安装.
  • 同时提供基于Web的远程交互界面,提供灵活方便的监控配置和状态显示功能,并提供灵活的通知机制和接口,便于用户根据需求扩展已有功能。 (一)我们将介绍最新版的Zabbix在Ubuntu 18.04上的安装、配置,下一篇(二...
  • zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。
  • (渝标)关于印发公共汽车和“两客一危”车辆按照智能视频监控实施方案的通知
  • 监控组合ganglia和nagio安装步骤

    千次阅读 2014-05-27 18:05:02
    Ganglia是伯克利开发的一个集群监控软件。可以监视和显示集群中的节点的各种状态信息,比如如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现。 而ganglia又...
  • GPU监控和故障通知 虽然在使用GPU混合低温货币时,尽管GPU具有内置的热控制功能,但是它可能无法安装在某些环境中,并且会导致哈希率降低甚至GPU故障。 该项目提供了一个工具来: 根据检测到的温度改变风扇转速 在...
  • 在Ubuntu上安装monit系统监控程序

    千次阅读 2013-05-29 17:05:51
    安装monit以及通过简单配置后实现对http服务、磁盘空间进行监控,当达到指定报警条件时,通过邮件进行提醒。 安装monit sudo apt-get install monit 基本配置monit 修改配置文件/etc/monit/monitrc 去掉...
  • Sentry是一款开源错误跟踪,帮助开发人员实时监控和修复崩溃的工具,Sentry提供实时崩溃报告,让您的团队了解影响客户生产的错误。Sentry支持数十种语言和框架,只需几行代码即可在几分钟内设置Sentry。当错误发生或...
  • zabbix监控系统介绍及安装部署

    千次阅读 2021-01-25 12:31:45
    1,监控介绍 (1)、Cacti cacti是一套基于PHP、MySQL、SNMP 及 RRD Tool开发的监测图形分析工具,Cacti是使用轮询的方式由主服务器向设备发送数据请求来获取设备上状态数据信息的,如果设备不断增多,这个轮询的过程就...
  • VisualPulse能够监控网站与服务器以及网络节点,为你提供目前可以实现的互联网服务实时的或者历史的Ping、Http以及TCP纪录,时刻关注网络动态并及时记录通知。 软件功能 提供您立即可用來開始建立網路應用程序的所有...
  • 监控利器Zabbix3.2.7之安装部署实践

    千次阅读 2017-08-15 20:57:31
    监控利器Zabbix3.2.7之安装部署实践 一:选择Zabbix七大理由 对于同类监控产品,有以下理由选择使用Zabbix。 1.Zabbix是一个自由开发源代码的产品,用户可以对源代码进行任意修改和二次开发。Zabbix采用GNU ...
  • Centos7安装部署zabbix4.0监控服务

    万次阅读 多人点赞 2019-06-12 17:11:42
    zabbix 安装要求 https://www.zabbix.com/documentation/4.0/zh/manual/installation/requirements [root@node2 ~]# cat /etc/redhat-release 查看系统版本信息 CentOS Linux release 7.4.1708 (Core) ...
  • H3C ER3200路由器安装MRTG监控网络流量

    千次阅读 2014-05-06 16:56:43
    H3C ER3200路由器安装MRTG监控网络流量 之前也做过安装MRTG监控路由器流量的实验,但没在交换机上做过这个实验,于是今天心血来潮,学习下在交换机环境下MRTG是如何配置的,顺便也整理一下之前的资料。当然,要...
  • Nagios监控服务器与客户端的安装

    千次阅读 2014-02-14 14:40:22
    在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。  Nagios原名为NetSaint,由Ethan Galstad开发并维护至今。NAGIOS是一个缩写形式:
  • Linux监控程序运行/停止+邮件通知

    千次阅读 2021-01-12 21:24:03
    首先运行并测试下面代码,将QQ换成要监控的进程名称 sudo vim monitor.sh # 创建文件 #将下面文件复制到monitor.sh中 chmod +x monitor.sh # 添加运行权限 ./monitor.sh # 运行 if [ `ps -ef|grep QQ | grep -v ...
  • OCZ SSD Utility是一款非常实用的SSD监控软件,使用该款软件能够帮助用户有效地监控和管理SSD,并且能够获取有关关键事件的通知,还能为用户提供解决方案,提高系统性能,快来下载体验吧。 功能特色 1、帮助...
  • 本文将介绍如何在Ubuntu 14.04上进行该系统的安装与一些基本配置,配置完毕后可以在其Web界面对你的主机进行监控。本文还将涉及Nagios Remote Plugin Executor(NRPE)插件的优化,该插件安装在需要被监控的主机上...
  • 在Centos8 安装 Zabbix5.0中,我们介绍如何安装Zabbix,那么安装好了之后就需要开始使用,其实Zabbix分为如下两个模块 zabbix-service:服务端,负责对采集到了监控数据进行展示 zabbix-agent:客户端,负责采集...
  • 还支持带有自定义声音的电报,短信和推送通知。 对于linux版本,请检查以下内容: 当前版本 在以下情况下支持短信发送: -GPU温度高于要求 -矿工在X分钟内没有响应 -低于X的哈希 通过安装一个本地软件支持多个...
  • exporter安装mysqld_exporter安装redis_exporter安装Grafana配置grafana-node_exporter仪表版配置grafana-mysqld_exporter仪表版配置grafana-redis_exporter仪表版安装Altermanager(Altermanager监控告警) ...
  • nagios监控服务的安装和配置

    千次阅读 2012-03-13 16:16:59
    Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,273
精华内容 26,509
关键字:

关于安装监控的通知