龙空技术网

CentOS7搭建prometheus 监控Linux主机

linux运维菜 2002

前言:

此刻大家对“centos7164”大致比较看重,你们都需要剖析一些“centos7164”的相关资讯。那么小编同时在网络上网罗了一些对于“centos7164””的相关文章,希望兄弟们能喜欢,同学们一起来了解一下吧!

简介

prometheus可以拆分成多个节点进行指标收集。

安装环境:CentOS7

安装prometheus

wget -c  zxvf prometheus-2.23.0.linux-amd64.tar.gz  -C /opt/cd /opt/ln -s prometheus-2.23.0.linux-amd64 prometheuscat > /etc/systemd/system/prometheus.service <<EOF[Unit]Description=prometheusAfter=network.target[Service]Type=simpleWorkingDirectory=/opt/prometheusExecStart=/opt/prometheus/prometheus --config.file="/opt/prometheus/prometheus.yml"LimitNOFILE=65536PrivateTmp=trueRestartSec=2StartLimitInterval=0Restart=always[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reload systemctl enable prometheussystemctl start prometheus
配置Prometheus

这里配置的是监听/opt/prometheus/servers/目录下的json文件

cat > /opt/prometheus/prometheus.yml <<EOF# my global configglobal:  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 configurationalerting:  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: 'servers'    file_sd_configs:    - refresh_interval: 61s      files:        - /opt/prometheus/servers/*.jsonEOFsystemctl restart prometheus
json格式

每个json文件需要是一个数组对象,如果不需要自定义标签,可以直接写到targets里面去也可以,可以有多个文件

[        {        "targets": [            "192.168.1.164:9100"        ],        "labels": {            "instance": "192.168.1.164",            "job": "node_exporter"        }    },    {        "targets": [            "192.168.1.167:9100"        ],        "labels": {            "instance": "192.168.1.167",            "job": "node_exporter"        }    }]

安装node_exporter

安装到/opt/node_exporter路径下,保持默认的端口

 zxvf node_exporter-1.0.1.linux-amd64.tar.gz -C /opt/cd /opt/ln -s  node_exporter-1.0.1.linux-amd64 node_exportercat > /etc/systemd/system/node_exporter.service <<EOF[Unit]Description=node_exporterAfter=network.target[Service]Type=simpleWorkingDirectory=/opt/node_exporterExecStart=/opt/node_exporter/node_exporterLimitNOFILE=65536PrivateTmp=trueRestartSec=2StartLimitInterval=0Restart=always[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl enable node_exportersystemctl start node_exporter
图形展示

直接安装grafana进行展示

yum -y install    enable grafana-serversystemctl start grafana-server

启动之后,grafana默认监听的是3000端口,直接使用浏览器进行访问就可以了,默认用户名密码是admin/admin,第一次登陆之后会提示修改。

配置数据源:鼠标左边的菜单 Configuration -> Data Source -> Add data source -> 选择prometheus -> url那栏填入prometheus的地址就可以了 -> 最后 Save & test 就可以了。

grafana.com/grafana/dashboards 官网已经有人做好的模板,我们直接import进来就可以了。

导入面板:鼠标左边的菜单 Dashboards -> Import -> 填入id -> Load -> 选择数据源就可以了。

我经常用的是:18608919 这两个来查看node_exporter监控

总结

安装这些服务都是使用systemd进行管理的,操作起来比较方便的。

这里没有设置告警,可以根据自己的需要设置对应的告警规则,使用alertmanager进行告警。

标签: #centos7164