prometheus安装

下载安装

#官网下载 解压即可使用
https://prometheus.io/download/
#docker 方式安装
sudo docker run -n prometheus -d -p 9090:9090 prom/prometheus

配置文件

 /etc/prometheus/prometheus.yml 或 可执行文件当前目录下/prometheus.yml

完整配置文件

  scheme: http
static_configs:
- targets:
- localhost:9090
- job_name: node1_self
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- 192.168.3.103:9100
- job_name: mysql
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- 192.168.3.103:9104
labels:
instance: db1
- job_name: nginx
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /status/format/prometheus
scheme: http
static_configs:
- targets:
- 192.168.3.139:80
labels:
instance: web1
basic_auth:
username: UserName
password: PassWord

重启服务

重启服务或发信号重新加载配置

killall -HUP prometheus

官方exports 大全

https://prometheus.io/docs/instrumenting/exporters/

Linux服务器配置

下载安装node_exporter (下载解压即可使用)

https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

./node_exporter

测试node_exporter

curl http://localhost:9100/metrics

mysql的exporter下载和配置

可以在mysql机器上安装也可以在别的机器上安装

`. 老样子下载解压

https://github.com/prometheus/mysqld_exporter/releases

2. 要配置一下被监控的mysql账户信息

最好单独配置权限

为 mysqld_exporter 创建一个单独的用户

并赋予它受限的权限(PROCESS、REPLICATION CLIENT、SELECT)

最好还限制它的最大连接数(MAX_USER_CONNECTIONS)

CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';

$ cat .my.cnf

[client]
host=localhost
port=3306
user=root
password=123456
  1. 运行mysqld_exporter

    `./mysqld_exporter --config.my-cnf=".my.cnf"

  2. 在 prometheus服务端的配置文件prometheus.yml中找到 scrape_config子项 添加一个 job

    如:

  - job_name: mysql
static_configs:
- targets: ['192.168.1.7:9104']
labels:
instance: db1
  1. 发送 重载配置文件信号

    killall -SIGHUP prometheus
  2. 到prometheus 网页中 导航栏->status->target 查看刚才添加的是否成功!

nginx exporter 安装和配置

好多方式都可以.lua脚本,openresty 等

我们选择 编译nginx的nginx-module-vts 这就意味着我们要自己手动编译了.

  1. 下载nginx源码后解压.

    wget https://github.com/nginx/nginx/releases/tag/release-1.17.1

    tar -xvf nginx-release-1.17.1.tar.gz

    cd nginx-release-1.17.1
  2. 下载或克隆nginx-module-vts 模块 https://github.com/vozlt/nginx-module-vts
  3. 编译安装nginx

    安装依赖(centos)
  • openssl-devel
  • pcre-devel
  • gcc

./auto/configure --add-module=/home/pi/nginx-module-vts --with-http_ssl_module --with-debug

干掉nginx

make -j4 使用4个线程编译.树莓派有四个线程

make install 安装nginx默认

4.配置nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

user root;
#user nobody;
worker_processes 2; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream;
vhost_traffic_status_zone;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout 0;
keepalive_timeout 65; #gzip on; server {
listen 80;
server_name localhost; #charset koi8-r;
charset utf-8;
#access_log logs/host.access.log main; location / {
root html;
auth_basic "needAuth";
auth_basic_user_file /usr/local/nginx/conf/passwd.db;
}
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
#error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} } }

配置http密码

apt install apache2-utils -y

htpasswd -c /usr/local/nginx/conf/passwd.db UserName

启动nginx

先看下模块有没编译进来

cd /usr/local/nginx/
/usr/local/nginx/sbin/nginx -V |grep nginx-module-vts

能看到信息就代表模块编译成功.

4. 运行nginx

/usr/local/nginx/sbin/nginx

4.1 查看nginx机器的ip

ip a

5. 在prometheus中增加一个监控nginx的任务

添加配置内容在配置文件 prometheus.yml 注意因为我们nginx配置了验证,所以在prometheus中也要添加验证.要不没有办法支持访问

- job_name: nginx
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /status/format/prometheus
scheme: http
static_configs:
- targets:
- 192.168.3.139:80
labels:
instance: web1
basic_auth:
username: UserName
password: PassWord
  1. 发送 重载配置文件信号

    killall -SIGHUP prometheus
  2. 到prometheus 网页中 导航栏->status->target 查看刚才添加的是否成功!

之后可以使用配合Grafana可以愉快玩耍了.

prometheus简单监控Linux,mysql,nginx的更多相关文章

  1. Grafana+Prometheus系统监控之MySql

    架构 grafana和prometheus之前安装配置过,见:Grafana+Prometheus打造全方位立体监控系统 MySql安装 MySql的地位和重要性就不言而喻了,作为开源产品深受广大中小 ...

  2. prometheus+grafana监控Linux和kubernetes的例子

    1.安装和配置prometheus tar zxvf prometheus-.linux-amd64.tar.gz -C /usr/local/ ln -sv /usr/local/prometheu ...

  3. 服务器搭建纪录linux+mysql+nginx+php

    新的项目启动 第一版 首先买了阿里云,选好环境镜像包,一键安装. 第一版php打算不用框架,完全手写,主要的功能点 数据交互和图片传输. 后台搭建好后,使用PHP的Laravel, web端还是选定b ...

  4. Prometheus + Grafana 监控系统搭

    本文主要介绍基于Prometheus + Grafana 监控Linux服务器. 一.Prometheus 概述(略) 与其他监控系统对比 1 Prometheus vs. Zabbix Zabbix ...

  5. Grafana Prometheus系统监控Redis服务

    Grafana Prometheus系统监控Redis服务 一.Grafana Prometheus系统监控Redis服务 1.1流程 1.2安装redis_exporter 1.3配置prometh ...

  6. 使有prometheus监控redis,mongodb,nginx,mysql,jmx

    以下操作在CENTOS7环境. 使用prometheus做监控,使用grafana做dashboard的界面展示: 因prometheus自带的监控web界面图形化展示方面比较弱,推荐使用grafan ...

  7. 使用Prometheus+Grafana监控MySQL实践

    一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采 ...

  8. 初试 Prometheus + Grafana 监控系统搭建并监控 Mysql

    转载自:https://cloud.tencent.com/developer/article/1433280 文章目录1.Prometheus & Grafana 介绍1.1.Prometh ...

  9. 安装prometheus+grafana监控mysql redis kubernetes等

    1.prometheus安装 wget https://github.com/prometheus/prometheus/releases/download/v1.5.2/prometheus-1.5 ...

随机推荐

  1. dockerfile相关命令

    官方dockerfile:https://github.com/play-with-docker/play-with-docker 可以根据一直的镜像,学习dockerfile的编写 dockerfi ...

  2. (二十一)JSP基础

    定义 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写html,但它相 ...

  3. redis的下载和安装

    下载 http://download.redis.io 这里我们以redis的5.0.5版本和centos7环境为基础介绍 安装 1.将下载的redis-5.0.5.tar.gz文件上传到linux上 ...

  4. .htaccess 转 SAE AppConfig

    新浪的SAE不支持 htaccess,但是他们开发了 AppConfig,可以完全代替 htaccess 的常见功能,AppConfig采用类自然语言的规则描述,还是很人性化的. 这里来写一个短网址的 ...

  5. 解决https 请求过程中SSL问题

    最近一个项目中用到了https的请求,在实际调用过程中发现之前的http方法不支持https,调用一直报错. 查询了一下,添加几行代码解决问题. public string HttpPost(stri ...

  6. 0.a开始数据结构征程

    决定开始从mooc和ppt上学习数据结构,......书暂时不看.在进入数据结构之前,我首先将自己以一个还未进入大山但又向往山中美景的探险者身份对数据结构的几点疑问的答案的寻找和思考写在下面. 什么是 ...

  7. Java 面向对象(五)抽象

    一.抽象概述 1.由来 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同.那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了. 我们把没有方法主体的方法称为抽象方法. ...

  8. 部署在SAP Cloud Platform CloudFoundry环境的应用如何消费SAP Leonardo机器学习API

    Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url如下: https://s ...

  9. 程序员与数据库打交道的JDBC知识概要

    1.JDBC全称:Java database connectivity,Java数据库连接. (1)           JDBC是一种用于执行SQL语句的Java API,为多种关系数据库提供多种统 ...

  10. mariadb-server安装问题(Error: MariaDB-common conflicts with 1:mariadb-libs-5.5.60-1.el7_5.x86_64)

    问题:今天在安装mariadb-server包时,提示错误,无法正确安装linux自带的mariadb包,提示错误很明确,是由于MariaDB-common包与mariadb-libs包冲突. 解决办 ...