• 【运维】普罗米修斯监控平台


    视频参考:

    https://www.bilibili.com/video/BV16J411z7SQ

    一、平台安装

    Prometheus 官网下载地址:

    https://prometheus.io/download/

    安装Prometheus

    cd /opt
    tar -zxvf prometheus-2.5.0.linux-amd64.tar.gz

    直接启动

    nohup /opt/prometheus-2.5.0.linux-amd64/prometheus --config.file="/opt/prometheus-2.5.0.linux-amd64/prometheus.yml" &

    访问平台主页:

    http://localhost:9090/

    二、监控其他机器:

    在被监控的机器上安装Node_exporter节点导出器组件

    tar -zxvf node_exporter-0.16.0.linux-amd64.tar.gz

    直接启动即可

    nohup /root/node_exporter-0.16.0.linux-amd64/node_exporter &

    查看端口是否为监听状态

    [root@centos6-3 node_exporter-0.16.0.linux-amd64]# lsof -i:9100
    COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    node_expo 3050 root    3u  IPv6  16461      0t0  TCP *:jetdirect (LISTEN)
    
    
    # 如果是这样. 执行命令安装 yum install -y lsof 
    [root@centos6-3 node_exporter-0.16.0.linux-amd64]# lsof -i:9100
    -bash: lsof: command not found

    通过此被监控机的地址访问被收集的信息:

    http://centos6-3:9100/metrics

    回到监控平台所在机器,增加配置项

    vim /opt/prometheus-2.5.0.linux-amd64/prometheus.yml

    下面高亮标识的是增加项,其余是平台默认设置

    注意配置参数要和默认的对齐,否则yml解析异常,平台无法启动

    # my global config
    global:
      scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
      evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
      # scrape_timeout is set to the global default (10s).
    
    # Alertmanager configuration
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          # - alertmanager:9093
    
    # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    # A scrape configuration containing exactly one endpoint to scrape:
    # Here it's Prometheus itself.
    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: 'prometheus'
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
        - targets: ['localhost:9090']
    
    
      - job_name: 'agent1' # 取一个job名称来代 表被监控的机器 
       static_configs: 
        - targets: ['centos6-3:9100'] # 这里改成被监控机器 的IP,后面端口接9100

    中止正在执行的平台进程

    pkill prometheus

    检查是否成功中止

    lsof -i:9090

    然后重启,并再次检查

    nohup /opt/prometheus-2.5.0.linux-amd64/prometheus --config.file="/opt/prometheus-2.5.0.linux-amd64/prometheus.yml" & 

    检查是否成功运行

    [root@centos6-2 prometheus-2.5.0.linux-amd64]# lsof -i:9090
    COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    prometheu 3822 root    6u  IPv6  18775      0t0  TCP *:websm (LISTEN)
    prometheu 3822 root    7u  IPv4  18777      0t0  TCP localhost:33806->localhost:websm (ESTABLISHED)
    prometheu 3822 root    9u  IPv6  18778      0t0  TCP localhost:websm->localhost:33806 (ESTABLISHED)
    prometheu 3822 root   10u  IPv6  18793      0t0  TCP localhost:39398->localhost:websm (ESTABLISHED)
    prometheu 3822 root   11u  IPv6  18794      0t0  TCP localhost:websm->localhost:39398 (ESTABLISHED)
    [root@centos6-2 prometheus-2.5.0.linux-amd64]# 

    平台访问后会多出被监控机器的信息:

    http://centos6-2:9090/targets

    三、监控MYSQL

    在被监控的机器上安装 mysqld_exporter

    [root@centos6-1 ~]# tar -zxvf mysqld_exporter-0.11.0.linux-amd64.tar.gz
    mysqld_exporter-0.11.0.linux-amd64/
    mysqld_exporter-0.11.0.linux-amd64/NOTICE
    mysqld_exporter-0.11.0.linux-amd64/LICENSE
    mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter

    在MYSQL数据库中创建一个授权用户

    GRANT SELECT,REPLICATION CLIENT,PROCESS 
    ON *.* TO 'mysql_monitor'@'locahost'
    IDENTIFIED BY '123456';
    (注意:授权ip为localhost,因为不是prometheus服务器来直接找mariadb 获取数据,
    而是prometheus服务器找mysql_exporter,mysql_exporter 再找mariadb。
    所以这个localhost是指的mysql_exporter的IP)

    5.7.36 对用户管理严格了,需要前行配置:

    SET GLOBAL VALIDATE_PASSWORD_POLICY = LOW;
    SET GLOBAL VALIDATE_PASSWORD_LENGTH = 6; 

    然后别忘记刷新权限:

    FLUSH PRIVILEGES;

    回到mysqld_exporter,配置上授权用户的账号信息

    vim /root/mysqld_exporter-0.11.0.linux-amd64/.my.cnf

    添加信息:

    [client]
    user=mysql_monitor
    password=123456

    启动mysqld_exporter,检查是否成功运行:

    [root@centos6-1 mysqld_exporter-0.11.0.linux-amd64]# nohup  /root/mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter --config.my-cnf="/root/mysqld_exporter-0.11.0.linux-amd64/.my.cnf" &
    [1] 4449
    [root@centos6-1 mysqld_exporter-0.11.0.linux-amd64]# nohup: 忽略输入并把输出追加到"nohup.out"
    
    [root@centos6-1 mysqld_exporter-0.11.0.linux-amd64]# lsof -i:9104
    COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    mysqld_ex 4449 root    3u  IPv6  17725      0t0  TCP *:peerwire (LISTEN)

    回到监控平台的主机,增加mysqld_exporter对应的配置项:

    vim /opt/prometheus-2.5.0.linux-amd64/prometheus.yml
    
    # 配置参数项
      - job_name: 'agent_mysql5.7.36' # 取一个job名称来代 表被监控的机器 
        static_configs:
        - targets: ['centos6-1:9104'] # 这里改成被监控机器 的IP,后面端口接9100

    重启平台:

    [root@centos6-2 prometheus-2.5.0.linux-amd64]# pkill prometheus
    [root@centos6-2 prometheus-2.5.0.linux-amd64]# nohup /opt/prometheus-2.5.0.linux-amd64/prometheus --config.file="/opt/prometheus-2.5.0.linux-amd64/prometheus.yml" &
    [2] 4699
    [1]   Done                    nohup /opt/prometheus-2.5.0.linux-amd64/prometheus --config.file="/opt/prometheus-2.5.0.linux-amd64/prometheus.yml"
    [root@centos6-2 prometheus-2.5.0.linux-amd64]# nohup: 忽略输入并把输出追加到"nohup.out"
    
    [root@centos6-2 prometheus-2.5.0.linux-amd64]# lsof -i:9090
    COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    prometheu 4699 root    5u  IPv6  20328      0t0  TCP *:websm (LISTEN)
    prometheu 4699 root    7u  IPv4  20330      0t0  TCP localhost:34188->localhost:websm (ESTABLISHED)
    prometheu 4699 root    8u  IPv6  20331      0t0  TCP localhost:websm->localhost:34188 (ESTABLISHED)
    [root@centos6-2 prometheus-2.5.0.linux-amd64]# 

    刷新一下Target页面就有了对应的监控信息:

    四、Grafana可视化工具

    安装Grafana

    命令执行发现安装失败,缺少依赖:

    [root@centos6-3 ~]# rpm -ivh grafana-5.3.4-1.x86_64.rpm
    warning: grafana-5.3.4-1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 24098cb6: NOKEY
    error: Failed dependencies:
        urw-fonts is needed by grafana-5.3.4-1.x86_64
    [root@centos6-3 ~]# 

    可以直接使用yum安装此依赖

    sudo yum install -y  urw-fonts

    然后可以了

    [root@centos6-3 ~]# rpm -ivh grafana-5.3.4-1.x86_64.rpm
    warning: grafana-5.3.4-1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 24098cb6: NOKEY
    Preparing...                ########################################### [100%]
       1:grafana                ########################################### [100%]
    ### NOT starting grafana-server by default on bootup, please execute
     sudo /sbin/chkconfig --add grafana-server
    ### In order to start grafana-server, execute
     sudo service grafana-server start
    POSTTRANS: Running script
    [root@centos6-3 ~]# 

    自启动grafana 和 开启grafana

    # centos7
    systemctl start grafana-server
    systemctl enable grafana-server
    
    # centos6
    service grafana-server start 
    chkconfig grafana-server

    检查是否运行

    [root@centos6-3 ~]# lsof -i:3000
    COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    grafana-s 5160 grafana   10u  IPv6  22936      0t0  TCP *:hbci (LISTEN)

    访问平台页面:

    账号信息 admin / admin

    http://centos6-3:3000/login

    数据源设置项:

    侧边栏导航筛选

    五、Grafana监控MySQL数据库

    编辑配置文件:

    vim /etc/grafana/grafana.ini

    在最下面添加配置项:

    [dashboards.json] 
    enabled = true 
    path = /var/lib/grafana/dashboards

    切换到这个目录下,通过GIT拉取dashboard

    # 如果没有git执行此命令安装
    yum install git -y
    
    # 切换到lib/grafana下面拉取
    cd /var/lib/grafana/ 
    git clone https://github.com/percona/grafana-dashboards.git
    
    # 然后重命名
    cp -r grafana-dashboards/dashboards/ /var/lib/grafana/
    
    # 重启服务
    service grafana-server restart

    我发现直接拉仓库很慢,改在本机win中拉取了也不行

    这个办法可行,在Gitee上搬Github库,再从Gitee上面拉取

    https://blog.csdn.net/qq_26736193/article/details/105387507

    回到grafana的面板,创建新面板时使用【导入】

    使用JSON文件进行导入:

    这里和教程的说的不太一样,Grafana已经分别用目录存放了,文件也改名了

    导入发现报错,没有数据源:

    回到数据源这里,改回默认的Prometheus

    发现模板对不上号,换用了,显示算正常了,但是没有数据

    https://blog.csdn.net/qq_40460909/article/details/81386666
  • 相关阅读:
    数据库系统学习(九)-嵌入式SQL语言之基本技巧
    操作系统学习(九)-- 操作系统之文件系统(目录)
    操作系统学习(八)-- 操作系统之磁盘(调度)与文件(实现)
    从windows server 2003中学到的事儿
    一名游戏开发者的告白
    所谓“学术境界”
    java解惑
    程序员的职业素养
    行业大会_平台
    寻找优秀的程序员
  • 原文地址:https://www.cnblogs.com/mindzone/p/16006789.html
Copyright © 2020-2023  润新知