• 对服务的管理,不能仅限于可用性。
  • 还需要服务可以安全、稳定、高效地运行。
  • 监控的目的:早发现、早治疗。
  • 被监控的资源类型:
    • 公开数据:对外开放的,不需要认证即可获取的数据
    • 私有数据:对外不开放,需要认证、权限才能获得的数据

监控命令

uptime可以查看系统已经运行了多久。最后的3个数字分别是CPU最近1分钟、5分钟、15分钟的平均负载。平均负载的值,不应该大于总核心数。
[root@zzgrhel8 ~]# uptime 09:28:25 up 53 days, 27 min,  0 users,  load average: 0.09, 0.08, 0.03[root@zzgrhel8 ~]# free -m      # 主要用于查看内存
[root@zzgrhel8 ~]# swapon -s    # 查看swap空间
[root@zzgrhel8 ~]# df -h        # 查看硬盘使用情况
[root@zzgrhel8 ~]# ping -c2 www.baidu.com   # 发2个包,测试网络

zabbix

  • 实施监控的几个方面:

    • 数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)
    • 数据存储:使用mysql数据库
    • 数据展示:通过web页面
  • zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。

安装zabbix

  • 中文手册:https://www.zabbix.com/documentation/3.4/zh/manual
主机名 地址
zabbixserver 192.168.4.5/24
web1 192.168.4.100/24
web2 192.168.4.200/24
准备3台主机。按上表配置主机名和IP地址
[root@zzgrhel8 ~]# clone-vm7 

安装zabbix

1. 关闭SELINUX和防火墙
2. 配置yum。千万注意:只保留系统yum,删除mysql和pxc。
[root@zabbixserver ~]# cat /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0
3. 配置nginx,用于展示zabbix的web页面
3.1 安装nginx的依赖包
[root@zabbixserver ~]# yum install -y gcc pcre-devel openssl-devel
3.2 安装nginx
[root@zzgrhel8 ~]# scp /linux-soft/2/lnmp_soft.tar.gz 192.168.4.5:/root/
[root@zabbixserver ~]# tar xf lnmp_soft.tar.gz
[root@zabbixserver ~]# cd lnmp_soft/
[root@zabbixserver lnmp_soft]# tar xf nginx-1.12.2.tar.gz
[root@zabbixserver lnmp_soft]# cd nginx-1.12.2/
[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module    # 配置nginx支持https
[root@zabbixserver nginx-1.12.2]# make && make install
4. 配置nginx支持php。配置php可以连接mysql
[root@zabbixserver ~]# yum install -y php php-fpm php-mysql mariadb-server mariadb-devel
5. 根据zabbix手册,修改nginx参数
[root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf34     fastcgi_buffers 8 16k;     #缓存php生成的页面内容,8个16k35     fastcgi_buffer_size 32k;   #缓存php生产的头部信息,32k36     fastcgi_connect_timeout 300;  #连接PHP的超时时间,300秒37     fastcgi_send_timeout 300;     #发送请求的超时时间,300秒38     fastcgi_read_timeout 300;     #读取请求的超时时间,300秒70         location ~ \.php$ {71             root           html;72             fastcgi_pass   127.0.0.1:9000;73             fastcgi_index  index.php;74         #    fastcgi_param  SCRIPT_FILENAME  /script    s$fastcgi_script_name;75             include        fastcgi.conf;  # 注意改成fastcgi.conf76         }

6. 启动相关服务
[root@zabbixserver ~]# systemctl enable mariadb --now
[root@zabbixserver ~]# systemctl enable php-fpm --now
[root@zabbixserver ~]# ss -tlnp |grep :9000
LISTEN     0      128    127.0.0.1:9000
[root@zabbixserver ~]# /usr/local/nginx/sbin/nginx
[root@zabbixserver ~]# ss -tlnp | grep :80
LISTEN     0      128          *:80
# 写入到rc.local中的命令,开机时自动执行
[root@zabbixserver ~]# echo '/usr/local/nginx/sbin/nginx' >> /etc/rc.d/rc.local
[root@zabbixserver ~]# chmod +x /etc/rc.d/rc.local

7. 编译安装zabbix
7.1 安装zabbix的依赖包
[root@zabbixserver lnmp_soft]# yum install -y net-snmp-devel curl-devel autoconf libevent-devel
7.2 编译安装
[root@zabbixserver ~]# cd lnmp_soft/
[root@zabbixserver lnmp_soft]# ls zabbix-3.4.4.tar.gz
zabbix-3.4.4.tar.gz
[root@zabbixserver lnmp_soft]# tar xf zabbix-3.4.4.tar.gz
[root@zabbixserver lnmp_soft]# cd zabbix-3.4.4/
[root@zabbixserver zabbix-3.4.4]# ./configure --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config  --with-net-snmp --with-libcurl
# --enable-server: 安装服务器端
# --enable-agent: 安装被控端
# --with-mysql: 指定mysql数据库配置程序
# --with-net-snmp: 配置可以通过snmp收集数据
# --with-libcurl: 启用curl库,以便zabbix可以通过curl连接web服务
# --enable-proxy: 启动proxy代理,不必安装
[root@zabbixserver zabbix-3.4.4]# make && make install

初始化

1. 创建zabbix存储数据的数据库。创建名为zabbix的数据库,使用的字符集是utf8
[root@zabbixserver ~]# mysql
MariaDB [(none)]> create database zabbix default charset utf8;
2. 创建名为zabbix的用户,密码也是zabbix,可以对zabbix数据库拥有全部权限。zabbix@'%'格式是:zabbix@客户端地址   
在mysql中,%表示0到多个任意字符
MariaDB [(none)]> grant all on zabbix.* to zabbix@'%' identified by 'zabbix';
授权zabbix用户可以在本机登陆
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
MariaDB [(none)]> exit

3. 导入zabbix表结构,3个sql文件按顺序导入
[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/
[root@zabbixserver mysql]# ls
data.sql  images.sql  schema.sql
# -u指定用户名,-p指定密码,第3个zabbix是数据库
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
4. 配置zabbix_server服务
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf12 # ListenPort=10051    # 不用改,了解端口号38 LogFile=/tmp/zabbix_server.log   # 不用改,日志文件位置85 DBHost=localhost      # 数据库服务器地址95 DBName=zabbix         # 不用改,数据库名
111 DBUser=zabbix         # 不用改,连接数据库的用户
119 DBPassword=zabbix     # 连接数据库的密码

5. 创建用于运行zabbix的用户
# -s /sbin/nologin: 用户不能登陆系统
[root@zabbixserver ~]# useradd -s /sbin/nologin zabbix
6. 创建用于管理zabbix的service文件
[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_server.service
[Unit]
Description=zabbix server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/tmp/zabbix_server.pid
ExecStart=/usr/local/sbin/zabbix_server
ExecStop=/bin/kill $MAINPID[Install]
WantedBy=multi-user.target
7. 启动服务
新建service文件,一般需要执行systemctl daemon-reload,否则有可能识别不到
[root@zabbixserver ~]# systemctl daemon-reload
[root@zabbixserver ~]# systemctl enable zabbix_server.service
[root@zabbixserver ~]# systemctl start zabbix_server.service
[root@zabbixserver ~]# ss -tlnp | grep :10051
LISTEN     0      128          *:10051
8. 配置agent,自己被监控
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_agentd.conf30 LogFile=/tmp/zabbix_agentd.log   # 不用改,日志位置93 Server=127.0.0.1,192.168.4.5     # 指定接受哪些服务器监控
101 # ListenPort=10050               # 不用改,指定端口号
134 ServerActive=127.0.0.1,192.168.4.5  # 主动汇报信息给哪些服务器
145 Hostname=zabbixserver           # 本机的主机名
280 UnsafeUserParameters=1           # 允许用户自定义监控项

9. 配置agent服务的service文件
[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_agentd.service
[Unit]
Description=zabbix agent
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/tmp/zabbix_agentd.pid
ExecStart=/usr/local/sbin/zabbix_agentd
ExecStop=/bin/kill $MAINPID[Install]
WantedBy=multi-user.target
10. 启服务
[root@zabbixserver ~]# systemctl daemon-reload
[root@zabbixserver ~]# systemctl start zabbix_agentd.service
[root@zabbixserver ~]# systemctl enable zabbix_agentd.service
[root@zabbixserver ~]# ss -tlnp | grep :10050
LISTEN     0      128          *:10050

附:删库重导入

# 查看有哪些数据库
MariaDB [(none)]> show databases;
MariaDB [(none)]> drop database zabbix;
MariaDB [(none)]> create database zabbix default charset utf8;
MariaDB [(none)]> exit
[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql 

zabbix的管理是通过web页面进行的。通过web初始化zabbix

# 拷贝zabbix的web页面到nginx
[root@zabbixserver ~]# ls lnmp_soft/zabbix-3.4.4/frontends/
php
[root@zabbixserver ~]# cp -r lnmp_soft/zabbix-3.4.4/frontends/php/* /usr/local/nginx/html/# nginx运行期间,调用php-fpm服务,php-fpm需要向web目录中修改文件。php-fpm的运行用户是apache,所以apache用户需要对该目录有写权限
[root@zabbixserver ~]# chown -R apache:apache /usr/local/nginx/html/# 访问192.168.4.5/index.php,首次访问,将会自动跳转到安装页面:http://192.168.4.5/setup.php

根据上面红色报错,解决zabbix web依赖的内容

# 安装依赖的软件包
[root@zabbixserver ~]# yum install -y php-gd php-xml php-bcmath php-mbstring
# 修改php.ini文件
[root@zabbixserver ~]# vim /etc/php.ini672 post_max_size = 16M384 max_execution_time = 300394 max_input_time = 300878 date.timezone = Asia/Shanghai
[root@zabbixserver ~]# systemctl restart php-fpm
# 刷新web页

默认的登陆用户是admin,密码是zabbix。

配置zabbix

 

配置zabbix监控web1服务器

# 安装编译agent需要的依赖环境
[root@web1 ~]# yum install -y gcc pcre-devel autoconf# 编译agent
[root@web1 ~]# tar xf zabbix-3.4.4.tar.gz
[root@web1 ~]# cd zabbix-3.4.4/
[root@web1 zabbix-3.4.4]# ./configure --enable-agent
[root@web1 zabbix-3.4.4]# make && make install
# 监控端(zabbix server)和被控端使用的软件是同一个,只是启用不同的功能
[root@zabbixserver ~]# scp lnmp_soft/zabbix-3.4.4.tar.gz 192.168.4.100:/root# 修改配置文件
[root@web1 ~]# vim /usr/local/etc/zabbix_agentd.conf30 LogFile=/tmp/zabbix_agentd.log   # 日志位置,不用改69 EnableRemoteCommands=1    # 允许监控端远程执行命令93 Server=127.0.0.1,192.168.4.5   # 允许自己和监控端进行数据采集
134 ServerActive=127.0.0.1,192.168.4.5  # 允许自己和监控端主动监控
145 Hostname=web1             # 自己的主机名
280 UnsafeUserParameters=1    # 允许用户自定义监控项

# 配置服务
[root@zabbixserver ~]# scp /usr/lib/systemd/system/zabbix_agentd.service 192.168.4.100:/usr/lib/systemd/system/
[root@web1 ~]# useradd -s /sbin/nologin zabbix
[root@web1 ~]# systemctl daemon-reload
[root@web1 ~]# systemctl start zabbix_agentd.service
[root@web1 ~]# systemctl enable zabbix_agentd.service
[root@web1 ~]# ss -tlnp | grep :10050
LISTEN     0      128          *:10050

zabbix监控--环境安装相关推荐

  1. zabbix监控软件安装

    zabbix监控软件安装 yum 部署zabbix 部署LAMP 下载centos和epel源 安装httpd 安装php 安装mariadb 设置httpd服务 测试php页面和配置时间 浏览器访问 ...

  2. Zabbix监控服务安装部署

    准备工作 主机 操作系统 IP地址 主要软件 hostName Zabbix server端 centos7.2 172.20.122.67 zabbix-server4.0 bigdata001 Z ...

  3. Zabbix监控平台安装教程,Zabbix入门教程

    一.概述 1.什么是Zabbix -Zabbix是一个高度集成的监控解决方案 -可以实现企业级的开源分布式监控 -Zabbix通过C/S模式采集监控数据 -Zabbix通过B/S模式通过Web模式使数 ...

  4. zabbix 监控下载安装

    打开官网地址: https://www.zabbix.com/cn/download? 1.选择您Zabbix服务器的平台 支持多种操作系统的不同版本 和数据库等 2.Install and conf ...

  5. Linux线上环境部署zabbix,CentOS 7.3下Zabbix 4.0监控环境安装部署

    $link=mysql_connect('192.168.144.113','zabbix','admin123');if($link) echo " h1 Success!! /h1 &q ...

  6. Zabbix监控环境的搭建

    实验环境:在虚拟机Vmware中安装Centos6.5 X64的操作系统 ,搭建的基础环境是LAMP环境. 实验的详细配置步骤为: (1)yum安装LAMP环境 [root@bogon ~]# ser ...

  7. .NetCore SkyWalking APM实现服务器监控环境安装及基础使用

    下载Java 8 SDK wget  --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fw ...

  8. Zabbix(一)安装zabbix监控服务配置与添加agent主机的三种方式

    zabbix基础介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

  9. Linux实战教学笔记49:Zabbix监控平台3.2.4(一)搭建部署与概述

    https://www.cnblogs.com/chensiqiqi/p/9162986.html 一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企 ...

最新文章

  1. Facebook增强版LASER开源:零样本迁移学习,支持93种语言
  2. 【Bit-Z月报】11月送出182.4万美元活动奖励,真是豪气
  3. 用CSS3来添加项目编号
  4. linux 0.11 返回用户侧,iPhone 11 11 Pro 用户必备教程:重启手机,恢复模式,DFU模式...
  5. Feisty中totem-xine播放rm和rmvb没有声音
  6. 创意网页排版设计和教程分享,打造 “视”不可挡的网页设计
  7. 《亲密关系》读书笔记
  8. Math.h 正态分布 C语言,C++与正态分布(示例代码)
  9. Lack of free swap space on
  10. LeetCode hot-100 简单and中等难度,61-70.
  11. CRC循环冗余校验是如何纠错的
  12. 通俗理解同步通信与异步通信
  13. SQL Sever数据库存储过程
  14. 我的家计算机教学反思,我的家教学反思
  15. [机器学习入门] 深度学习简介,GPU计算的原理,分布式机器学习原理
  16. 编程小技巧9-如何生成没有水印的代码图片(IDEA carbon-now-sh插件使用教程)
  17. 北斗一号卫星系统 及 一种授时系统
  18. SpringMvc数据绑定
  19. 【sequoiadb|巨杉数据库】创建数据表
  20. 最小覆盖圆(附完整代码)

热门文章

  1. iPhone 12售价曝光,不附赠耳机与充电器
  2. linux 安装protobuf
  3. 【ML】贝叶斯网络(Bayesian Network)
  4. Chrome您的连接不是私密连接解决办法
  5. Ant Design入门
  6. Java又双叒叕“凉”了?
  7. UVC 摄像头驱动(一)硬件描述
  8. 怀旧服最新服务器消息,剑网三怀旧服:服务器排队人数2000,和魔兽一样:坚决不做手游...
  9. 购买腾讯云服务器-云服务器(1)
  10. html 对勾单选框,利用原生js和jQuery实现单选框的勾选和取消操作的方法