1.镜像使用(一体化) 1.1.镜像安装
手工配置
1 2 3 4 docker stop monitor docker rm monitor docker run --name monitor --privileged=true -p 9090:9090 -p 3000:3000 -d wuhaocn/monitor:1.0 docker update monitor --restart=always
自动发现
1 2 3 4 5 docker stop monitor-consul docker rm monitor-consul docker run --name monitor-consul --privileged=true -p 18500:8500 -p 19090:9090 -p 13000:3000 -d wuhaocn/monitor:2.0 docker update monitor-consul --restart=always
注册节点信息
1 2 3 4 5 6 curl -X PUT -d '{"id": "test1","name": "test1","address": "192.168.56.12","port": 9100,"tags": ["service"],"checks": [{"http": "http://192.168.56.12:9100/","interval": "5s"}]}' http://192.168.56.12:8502/v1/agent/service/register curl -X PUT -d '{"id": "test1","name": "test1","address": "192.168.56.12","port": 9100,"tags": ["service"],"checks": [{"http": "http://192.168.56.12:9100/","interval": "5s"}]}' http://192.168.56.12:8502/v1/agent/service/unregister https://www.consul.io/api-docs/agent/service#register-service https://www.consul.io/api-docs/agent/service#deregister-service
1.2.容器配置 docker exec -it monitor bash
配置修改地址
/usr/local/grafana1 2 3 4 5 6 7 8 9 root@f23762ac5af0:/usr/local/grafana/conf# ll total 136 drwxr-xr-x 3 root root 4096 Mar 31 12:35 ./ drwxr-xr-x 1 root root 4096 Apr 7 02:09 ../ -rw-r--r-- 1 root root 56590 Mar 31 12:35 defaults.ini -rw-r--r-- 1 root root 2270 Mar 31 12:35 ldap.toml -rw-r--r-- 1 root root 1045 Mar 31 12:35 ldap_multiple.toml drwxr-xr-x 7 root root 4096 Mar 31 12:35 provisioning/ -rw-r--r-- 1 root root 57840 Mar 31 12:35 sample.ini
/usr/local/prometheus
1 2 3 4 5 6 7 8 9 10 11 12 13 root@f23762ac5af0:/usr/local/prometheus# ll total 197396 drwxr-xr-x 4 root root 4096 Apr 7 02:09 ./ drwxr-xr-x 1 root root 4096 Apr 7 02:16 ../ -rw-r--r-- 1 root root 6148 Apr 7 01:46 .DS_Store -rw-r--r-- 1 root root 11357 Mar 15 15:30 LICENSE -rw-r--r-- 1 root root 3773 Mar 15 15:30 NOTICE drwxr-xr-x 2 root root 4096 Mar 15 15:30 console_libraries/ drwxr-xr-x 2 root root 4096 Mar 15 15:30 consoles/ -rwxr-xr-x 1 root root 105137495 Mar 15 15:21 prometheus* -rw-r--r-- 1 root root 934 Apr 6 06:11 prometheus.yml -rwxr-xr-x 1 root root 96946761 Mar 15 15:23 promtool*
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 root@9852cf5a3339:/# cat /usr/local/prometheus/prometheus.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: 'mapplication' metrics_path: / static_configs: - targets: ['192.168.3.41:8901']
1.3 配置生效 修改后重启配置
docker restart monitor
2.镜像使用(拆分) 2.1.安装
1 2 3 4 5 6 7 8 9 docker stop prometheus docker rm prometheus docker run -d --name=prometheus -p 9090:9090 prom/prometheus docker update prometheus --restart=always docker stop grafana docker rm grafana docker run -d --name=grafana -p 3000:3000 grafana/grafana docker update grafana --restart=always
1 2 3 4 docker stop prometheus docker rm prometheus docker run -d --name=prometheus -p 9090:9090 -v /home/rcloud/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus docker update prometheus --restart=always
1 2 3 4 5 6 7 8 9 10 11 12 13 14 global: # 默认情况下,每15s拉取一次目标采样点数据。 scrape_interval: 15s # 我们可以附加一些指定标签到采样点度量标签列表中, 用于和第三方系统进行通信, 包括:federation, remote storage, Alertmanager external_labels: # 下面就是拉取自身服务采样点数据配置 monitor: 'codelab-monitor' scrape_configs: # job名称会增加到拉取到的所有采样点上,同时还有一个instance目标服务的host:port标签也会增加到采样点上 - job_name: 'prometheus' # 覆盖global的采样点,拉取时间间隔5s scrape_interval: 5s static_configs: - targets: ['localhost:9090']
2.2 登录配置
app(metrics)–data–> (?) + prometheus + grafana