Prometheus+Grafana监控平台搭建

Prometheus+Grafana监控平台搭建


Prometheus安装

官网地址: https://prometheus.io/

下载prometheus和node_exporter

启动node_exporter

# nohup ./node_exporter &

安装Prometheus

编辑prometheus.yml, 将node_exporter添加到Prometheus目标对象,因为这里node_exporter和Prometheus安装在同一台机器,使用localhost即可,node_exporter端口9100

vim prometheus.yml
- job_name: 'localnode'
    static_configs:
      - targets: ['localhost:9100']

使用配置文件启动Prometheus

# nohup ./prometheus --config.file=prometheus.yml &

将Prometheus配置为系统服务

cd /usr/lib/systemd/system

创建文件:vim prometheus.service

[Unit]
Description=https://prometheus.io

[Service]
Restart=on-failure
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --web.listen-address=:9090

[Install]                      
WantedBy=multi-user.target

生效系统system文件

systemctl daemon-reload

启动服务

systemctl start prometheus

客户端,配置服务发现监控linux主机及相关服务

node_exporter添加为服务方式启动

vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target 

[Service]
ExecStart=/opt/node_exporter/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target

生效系统system文件

systemctl daemon-reload

启动服务

systemctl start node_exporter

nginx,配置服务发现监控服务

下载nginx-vts-exporter

coscmd -b op-workerspace-1302719795 download nginx-vts-exporter-0.5.zip ./

nginx配置

# 主配置文件新增监控模块
vim /opt/nginx/conf/nginx.conf

vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;

# 单独配置文件
vim metrics.conf
server
    {
        listen 100;
        server_name localhost;
        location  /metrics {
                vhost_traffic_status_display;
                vhost_traffic_status_display_format html;
        }
    }
    
# 检查nginx
/opt/nginx/sbin/nginx -t
# 重启nginx
systemctl reload nginx

nginx-vts-exporter添加为服务方式启动

vim /usr/lib/systemd/system/nginx_exporter.service
[Unit]
Description=nginx-vts-exporter
After=network.target 

[Service]
ExecStart=/opt/node_exporter/nginx/nginx-vts-exporter-0.5/bin/nginx-vts-exporter -nginx.scrape_uri=http://127.0.0.1:100/metrics/format/json
Restart=on-failure

[Install]
WantedBy=multi-user.target

生效系统system文件

systemctl daemon-reload

启动服务

systemctl start nginx_exporter

prometheus配置文件增加发现节点

vim prometheus.yml
# nginx指标
  - job_name: 'NGINX'
    scrape_interval: 15s
    static_configs:
      - targets: ['tx-bj5-web-dev-php-00:9913']
        labels:
          instance: 'dev-php-nginx'
      - targets: ['tx-bj5-web-dev-go-00:9913']
        labels:
          instance: 'dev-go-nginx'

Grafana Docker 镜像

运行Grafana 容器

启动容器绑定外部端口3000

docker run -d --name=grafana -p 3000:3000 grafana/grafana

默认管理员用户是 admin/admin

smtp

#################################### SMTP / Emailing ##########################                       
[smtp]                                                                                                                  
enabled = true                                                                                                          
host = smtp.exmail.qq.com:465                                                                                           
user = developer@hsuanyuen.com                                                                                          
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""                           
password = NXAPygimoTv6uvAc                                                                                             
;cert_file =                                                                                                            
;;key_file =                                                                                                            
skip_verify = true                                                                                                      
from_address = developer@hsuanyuen.com                                                                                  
from_name = Grafana                                                                                                     
;# EHLO identity in SMTP dialog (defaults to instance_name)                                                             
ehlo_identity = exmail.qq.com                                                                                           
;# SMTP startTLS policy (defaults to 'OpportunisticStartTLS')                                                           
;startTLS_policy = NoStartTLS

redis 插件

grafana-cli plugins install redis-datasource

node节点部署脚本

coscmd -b op-workerspace-1302719795 download node_exporter-1.2.2.linux-amd64.tar.gz ./
tar xzf node_exporter-1.2.2.linux-amd64.tar.gz
cat <<EOF | sudo tee /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target 

[Service]
ExecStart=/opt/node_exporter/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
mv node_exporter-1.2.2.linux-amd64 /opt/node_exporter
rm -rf node_exporter-1.2.2.linux-amd64.tar.gz
systemctl start node_exporter.service
netstat -nltp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值