• prometheus


    prometheus部署安装

     

    1. 下载&部署

    复制代码
    复制代码
    # 下载
    [root@prometheus src]# cd /usr/local/src/
    [root@prometheus src]# wget https://github.com/prometheus/prometheus/releases/download/v2.0.0/prometheus-2.0.0.linux-amd64.tar.gz
    
    # 部署到/usr/local/目录
    # promethus不用编译安装,解压目录中有配置文件与启动文件
    [root@prometheus src]# tar -zxvf prometheus-2.0.0.linux-amd64.tar.gz -C /usr/local/
    [root@prometheus src]# cd /usr/local/
    [root@prometheus local]# mv prometheus-2.0.0.linux-amd64/ prometheus/
    
    # 验证
    [root@prometheus local]# cd prometheus/
    [root@prometheus prometheus]# ./prometheus --version
    复制代码
    复制代码

    2. 配置文件

    复制代码
    复制代码
    # 解压目录中的prometheus.yml
    # 简单验证,主要配置采用默认文件配置,有修改/新增处用红色标示
    # 注意:若服务启动失败,请删除此配置文件中的中文 [root@prometheus prometheus]# vim prometheus.yml # 全局配置 global: scrape_interval: 15s # 设置抓取(pull)时间间隔,默认是1m evaluation_interval: 15s # 设置rules评估时间间隔,默认是1m # scrape_timeout is set to the global default (10s). # 告警管理配置,暂未使用,默认配置 alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # 加载rules,并根据设置的时间间隔定期评估,暂未使用,默认配置 rule_files: # - "first_rules.yml" # - "second_rules.yml" # 抓取(pull),即监控目标配置 # 默认只有主机本身的监控配置 scrape_configs: # 监控目标的label(这里的监控目标只是一个metric,而不是指某特定主机,可以在特定主机取多个监控目标),在抓取的每条时间序列表中都会添加此label - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. # 可覆盖全局配置设置的抓取间隔,由15秒重写成5秒。 scrape_interval: 5s # 静态指定监控目标,暂不涉及使用一些服务发现机制发现目标 static_configs: - targets: ['localhost:9090'] # (opentional)再添加一个label,标识了监控目标的主机 labels: instance: prometheus - job_name: 'linux' scrape_interval: 10s static_configs: # 采用node_exporter默认开放的端口 - targets: ['172.20.1.212:9100'] labels: instance: node1
    复制代码
    复制代码

    3. 设置用户

    复制代码
    复制代码
    # 添加用户,后期用此账号启动服务
    [root@prometheus prom etheus]# groupadd prometheus
    [root@prometheus prometheus]# useradd -g prometheus -s /sbin/nologin prometheus
    
    # 赋权
    [root@prometheus prometheus]# cd ~
    [root@prometheus ~]# chown -R prometheus:prometheus /usr/local/prometheus/
    
    # 创建prometheus运行数据目录
    [root@prometheus ~]# mkdir -p /var/lib/prometheus
    [root@prometheus ~]# chown -R prometheus:prometheus /var/lib/prometheus/
    复制代码
    复制代码

    4. 设置开机启动

    复制代码
    复制代码
    [root@prometheus ~]# touch /usr/lib/systemd/system/prometheus.service 
    [root@prometheus ~]# chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service
    
    [root@prometheus ~]# vim /usr/lib/systemd/system/prometheus.service
    [Unit]
    Description=Prometheus
    Documentation=https://prometheus.io/
    After=network.target
    
    [Service]
    # Type设置为notify时,服务会不断重启
    Type=simple
    User=prometheus
    # --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中
    ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    # 设置开机启动
    [root@prometheus ~]# systemctl enable Prometheus
    [root@prometheus ~]# systemctl start prometheus
    复制代码
    复制代码

    5. 设置iptables

    [root@prometheus ~]# vim /etc/sysconfig/iptables
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 9090 -j ACCEPT
    
    [root@prometheus ~]# service iptables restart

    6. 启动并验证

    1)查看服务状态

    [root@prometheus ~]# systemctl status prometheus

    [root@prometheus ~]# netstat -tunlp | grep 9090

    2)web ui

    Prometheus自带有简单的UI,http://172.20.1.211:9090

    在Status菜单下,Configuration,Rule,Targets等,

    Statu-->Configuration展示prometheus.yml的配置,如下:

    Statu-->Targets展示监控具体的监控目标,这里监控目标"linux"暂未设置node_exporter,未scrape数据,如下:

    7. 绘图

    访问:http://172.20.1.211:9090/metrics,查看从exporter具体能抓到的数据,如下:

    访问:http://172.20.1.211:9090,在输入框中任意输入1个exporter能抓取得值,点击"Execute"与"Execute"按钮,即可见相应抓取数据的图形,同时可对时间与unit做调整,如下:

    学以致用,只争朝夕,不负韶华。
  • 相关阅读:
    jquery 监听input的value值改变
    Win10家庭版共享打印机启用Guest账户
    js数组操作大全(pop,push,unshift,splice,shift方法)
    EF Core索引
    工作经验(C++篇)
    FFmpeg编译i386 OSX 脚本
    xcrun -sdk 选择
    Unity GL 画圆
    OpenGL ES无法获取贴图数据原因
    Unity在Android和iOS中如何调用Native API
  • 原文地址:https://www.cnblogs.com/xiexun/p/13176232.html
Copyright © 2020-2023  润新知