监控基本概述

主要的监控工具

1.CACTI:网络监控,Cacti是一套基于PHP,MySQL,SNMP 及 RRDTool 开发的网络流量监测图形分析工具

2.NAGIOS:系统监控,很久之前使用的,需要人为定义,没有图形,没有办法查询历史

3.ZABBIX:分布式监控

4.Open-falcon:小米监控产品,开源的

5.Prometheus:普罗米修斯,监控 docker,K8S

6.lepus:天兔,数据库监控

主要的监控内容

1.公有云:云监控
2.硬件监控:CPU 温度,主板温度,磁盘,网卡,风扇转速
3.系统监控:CPU,内存,网络,磁盘剩余
4.服务监控:
1)MySQL:主从复制是否有延迟(zabbix 监控模板)
2)Redis:主从复制是否有延迟
监控思路: Zabbix 没有固定模板,可以在主库中 set 一个 key 为时间戳,然后从库会同步这个时间戳(动态),写脚本时时获取这两个时间戳,做对比。
3)NFS:磁盘挂载状况
4)Tomcat:JVM 监控,老年代、新生代、永久带、full-gc、垃圾回收
5)Rsync 的同步情况,MD5 校验文件是否被篡改
5.Web 页面监控:请求时间,响应时间,加载时间,nginx 状态码监控,pv,uv,ip
6.网络监控:网卡流量(出入流量),贷款,监控宝
7.业务监控:
1)URL 监控
2)API 监控:针对业务的接口 basic.action
3)Nginx 状态码
4)Tomcat日志监控
8.日志监控:ELK,第三方日志易
9.安全监控:Firewalld,WAF,牛盾云,安全狗
10.容器监控:Prometheus,普罗米修斯

监控命令

监控CPU

w top htop uptime glances ps

# 不管用什么命令监控,查看CPU,我们都必须了解,系统的用户态和内核态
us: 用户态 跟用户的操作有关35%
sy: 内核态 跟内核的处理有关65%
id: CPU空闲 # 当我们执行一个命令的时候,很快能出来结果,占用用户态和内核态的时间
[root@web02 ~]# time ls
real 0m0.002s 真实执行时间
user 0m0.001s 用户执行时间
sys 0m0.001s 系统执行时间

监控内存

free glances top htop

监控磁盘

df glances iotop iostat dstat

#以兆为单位,每秒执行一次,执行10次
[root@web02 ~]# iostat -dm 1 10

网络监控

glances ifconfig iftop ip route

nethogs 该命令可以查看某个进程所使用的流量

TCP 端口状态监控

# TCP 端口状态一共 11 种
netstat -ant
ss -ant

监控内存脚本实例

[root@zabbix ~]# vim /scripts/free.sh
#!/bin/bash
Hostname_Ip=$(hostname)_$(hostname -I|awk '{print $2}')
Date=$(date +%F)
while true
do
Mem_Free=$(free -m|awk '/^Mem/{print $NF}')
Swap_used=$(free -m | awk '/^Swap/ {print $3}')
if [ $Mem_Free -lt 100 -a $Swap_used -gt 100 ];then
echo "$Date: $Hostname_Ip 内存可用量不足100M并且Swap空间占用超过100M,内存当前剩余: $Mem_Free,Swap空间使用达到: $Swap_used"
fi
sleep 5
done

脚本监控,单台服务器或少量服务器可以使用,但是遇到大型架构服务器数量很多,使用该方法并不适用,所以我们要使用第三方工具进行监控 zabbix

Zabbix 安装

Zabbix 架构

1.Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server;

2.Zabbix server 是 Zabbix 软件的核心组件,Agent 向其报告可用性、系统完整性信息和统计信息。server 也是存储所有配置信息、统计信息和操作信息的核心存储库;

3.数据库:所有配置信息以及 Zabbix 采集到的数据都被存储在数据库中;

4.Zabbix web 为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 Web 的界面,该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上;

5.Zabbix proxy 可以代替 Zabbix server 采集性能和可用性数据。Zabbix Proxy 在 Zabbix 的部署是可选部分;但是 Proxy 的部署可以很好的分担单个 Zabbix server 的负载。

配置官方源安装

配置官方源

[root@zabbix ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

[root@zabbix ~]# ll /etc/yum.repos.d/
total 12
-rw-r--r--. 1 root root 2523 Jul 6 22:19 CentOS-Base.repo
-rw-r--r--. 1 root root 664 Jul 6 22:19 epel.repo
-rw-r--r-- 1 root root 633 Oct 7 2019 zabbix.repo

开启仓库

#Zabbix 前端需要额外的基础安装包。 您需要在运行 Zabbix 前端的系统中启用可选 rpms 的软件仓库

#安装命令
[root@zabbix ~]# yum install -y yum-utils
[root@zabbix ~]# yum-config-manager --enable rhel-7-server-optional-rpms
Loaded plugins: fastestmirror

安装 Zabbix

[root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

第三方源安装

配置第三方源

[root@zabbix ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

安装 zabbix

[root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

安装数据库

[root@zabbix ~]# yum install -y mariadb-server

配置数据库

[root@zabbix ~]# systemctl start mariadb
[root@zabbix ~]# systemctl enable mariadb [root@zabbix ~]# mysql
MariaDB [(none)]> create database zabbix charset utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on *.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)

配置 zabbix 连接数据库

[root@zabbix ~]# grep "^DB" /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

导入初始数据库

[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.24/create.sql.gz | mysql -u root -p zabbix

[root@zabbix ~]# mysql
MariaDB [(none)]> use zabbix
Database changed MariaDB [zabbix]> show tables;
... ...
144 rows in set (0.00 sec)

启动 zabbix 服务

[root@zabbix ~]# systemctl start zabbix-server.service
[root@zabbix ~]# systemctl enable zabbix-server.service

启动 httpd

# 修改时区
[root@web02 ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai [root@zabbix ~]# systemctl start httpd
[root@zabbix ~]# systemctl enable httpd

web页面访问 zabbix

http://10.0.0.71/zabbix/index.php
# 按照流程配置 # 默认登录用户名密码:
Admin
zabbix

启动 agent

[root@zabbix ~]# systemctl start zabbix-agent.service

监控一台远端主机

安装zabbix客户端

[root@web01 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.1-1.el7.x86_64.rpm

配置客户端

[root@web01 ~]# grep ^Server /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.71
ServerActive=172.16.1.71
Hostname=web01

启动客户端

[root@web01 ~]# systemctl start zabbix-agent.service
[root@web01 ~]# systemctl enable zabbix-agent.service #验证启动
[root@web01 ~]# netstat -lntp
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 39529/zabbix_agentd

Web 端配置监控

添加主机组 => 创建主机 => 选择主机模板 => 添加主机

数据库拆分

搭建新的数据库

[root@db01 ~]# yum install -y mariadb-server

授权数据库

[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
[root@db01 ~]# mysql
MariaDB [(none)]> grant all on *.* to zabbix@'172.16.1.%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

导出源数据库数据

[root@zabbix ~]# mysqldump -B zabbix > /tmp/zabbix.sql

将数据导入新库

[root@zabbix ~]# mysql -uzabbix -p -h172.16.1.51 < /tmp/zabbix.sql
Enter password:

修改 Zabbix-server 数据库配置

[root@zabbix ~]# grep "^DB" /etc/zabbix/zabbix_server.conf
DBHost=172.16.1.51
DBName=zabbix
DBUser=zabbix
DBPassword=123

修改 Zabbix-web 数据库配置

[root@zabbix ~]# vim /etc/zabbix/web/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB; $DB['TYPE'] = 'MYSQL';
#修改数据库地址
$DB['SERVER'] = '172.16.1.51';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
#修改远程连接密码
$DB['PASSWORD'] = '123'; // Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = ''; $ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'Linux脱产9期'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

重启访问

[root@zabbix ~]# systemctl restart zabbix-server.service

停止旧库

[root@zabbix ~]# systemctl stop mariadb

Zabbix 配置字体

中文字会乱码,安装下面字体,并拷贝到 Zabbix 的字体目录

[root@zabbix yum.repos.d]# yum -y install wqy-microhei-fonts.noarch
[root@zabbix yum.repos.d]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

Zabbix 部署配置的更多相关文章

  1. zabbix部署与配置

    zabbix部署与配置 1.zabbix的web界面是基于php开发,所以创建lnmp环境来支持web界面的访问 yum install nginx php php-devel php-mysql p ...

  2. zabbix部署

    zabbix部署 ----2016年年终总结 二 服务器端安装   yum install zabbix-server 客户端安装 yum install zabbix-agent 配置Server ...

  3. Zabbix——部署(DB与web分离)

    前提条件: 两台centos7设备 两台设备可以相互访问 Zabbix-Servser版本为4.0 mysql版本为8.0 关闭防火墙 Zabbix部署(包含server,web,agent) rpm ...

  4. zabbix CentOS7 配置安装

    一,LAMP+zabbix环境安装 官网: https://www.zabbix.com/download rpm -ivh https://mirrors.aliyun.com/zabbix/zab ...

  5. 监控服务zabbix部署

    目录 1. zabbix介绍 2. zabbix特点 3. zabbix配置文件 4. 部署zabbix 4.1 zabbix服务端安装 4.2 zabbix服务端配置 4.3 zabbix服务端we ...

  6. zabbix 部署包安装

      关于zabbix的安装方式,官网提供了几种方法,分别是:部署包安装.源码安装.容器安装.容器安装我之前已经写过一篇,而现在这一篇是关于部署包安装的.   按照官网的说法,我们需要如下几个步骤:   ...

  7. Zabbix WebUI 配置监控Zabbix Agent

    Zabbix WebUI 配置监控Zabbix Agent 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署zabbix服务 1>.部署zabbix server 和z ...

  8. zabbix-server安装部署配置

    zabbix-server安装部署配置 zabbixLinux安装部署安装脚本 1 一步一步部署 1.1 安装zabbix仓库源 这里安装阿里的zabbix仓库地址 选用zabbix版本3.4 rpm ...

  9. Zabbix基本配置及监控主机

    监控主机一版需要在被监控的主机上安装Zabbix Agent 监控主机 安装zabbix-agent 首先需要在被监控的主机上安装agent,可以下载预编译好的RPM进行安装,下载地址:http:// ...

随机推荐

  1. XEE - Pikachu

    概述 XXE -"xml external entity injection"既"xml外部实体注入漏洞".概括一下就是"攻击者通过向服务器注入指定的 ...

  2. Nacos 服务配置中心

    1.因为项目是微服务分布式项目,每个微服务都需要用到配置中心,所以第一步我们先在common中添加相应的依赖 <dependency> <groupId>com.alibaba ...

  3. JS实现植物大战僵尸小游戏,代码记录及效果展示

    前几天看到了一个很有趣的demo,用js制作植物大战僵尸小游戏,本着学习的心态,对照着做了一下,发现这里面的一些代码设计的确很精妙,这里分享下源码和效果,如果有需要,可以看下. 效果如下: 下载地址

  4. selenium浏览器弹出框alert 操作

    1.简介 在WebDriver中要处理JS生成的alert.confirm以及prompt,需要 switch_to.alert() 来选取(定位)警告弹窗,在对弹窗进行关闭.输入等信息操作. 2.操 ...

  5. jQuery 点击input框标题收起

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Redis二进制安全

    为了便于理解,举一个例子: 在很多编辑器中,都会默认/n是换行字符,也就意味着一串字符存进去,涉及/n都会做一个默认的转义处理,这在编辑语言中,C也有这个特性,例如字符串Hello,\0 World! ...

  7. 重磅:保姆级Java技术图谱发布!够学到元宵节了,赶紧收藏!

    最近因为参与社群交流的时间比较多,除了唠唠白酒的嗑之外,很大一部分时间都是看到群里问到一些关于Spring Boot和Spring Cloud应用过程中碰到的问题以及一些开发过程中的报错信息.在这些帮 ...

  8. 微博CacheService架构浅析 对底层协议进行适配

    https://mp.weixin.qq.com/s/wPR0j2bmHBF6z0ZjTlz_4A 麦俊生 InfoQ 2014-04-21 微博作为国内最大的社交媒体网站之一,每天承载着亿万用户的服 ...

  9. memory barrier 内存屏障 编译器导致的乱序

    小结: 1. 很多时候,编译器和 CPU 引起内存乱序访问不会带来什么问题,但一些特殊情况下,程序逻辑的正确性依赖于内存访问顺序,这时候内存乱序访问会带来逻辑上的错误, 2. https://gith ...

  10. calc, support, media各自的含义及用法?

    @support主要是用于检测浏览器是否支持CSS的某个属性,其实就是条件判断,如果支持某个属性,你可以写一套样式,如果不支持某个属性,你也可以提供另外一套样式作为替补. calc() 函数用于动态计 ...