matthewhan 2019-12-28
监控分类 | 监控内容 |
---|---|
硬件监控 | 温度,硬件故障等 |
系统监控 | CPU,内存,硬盘,网卡流量,TCP状态,进程数 |
应用监控 | nginx,tomcat,php,mysql,redis等 |
日志监控 | 系统日志,服务日志,访问日志,错误日志 |
安全监控 | WAF,敏感文件监控 |
API监控 | 可用性,接口请求,响应时间 |
业务监控 | 例如电商网站,每分钟产生多少订单,注册多少用户,多少活跃用户,推广活动效果等 |
流量分析 | 根据流量获取用户相关型芯,例如用户地理位置,某页面访问状态,页面停留时间等 |
prometheus 是一个最初在soundcloud上构建的监控系统。自2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,prometheus于2016年加入云原生云计算基金会(CNCF),成为继kubernetes之后的第二个托管项目。
prometheus特点:
prometheus server: 收集指标和存储时间序列数据,并提供查询接口。
clientlibrary: 客户端库。
push gateway: 短期存储指标数据。主要用于临时性的任务。
exporters: 采集已有的第三方服务监控指标并暴露metrics。
alertmanager: 告警。
web UI: 简单的web UI。
实例: 可以抓取的目标称之为实例(instances)。
作业: 具有相同?的实例集合称为作业(job)。
docker run -p 9090:9090 -v /root/prom/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
cadvisor(container advisor)用于收集正在运行的容器资源使用和性能信息。grafana是一个开源的度量分析和可视化系统。
https://github.com/google/cadvisor
https://grafana.com/grafana/download
https://grafana.com/dashboards/193
sudo docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest
### 运行grafana容器
docker run -d --name=grafana -p 3000:3000 grafana/grafana
prometheus,cadvisor,grafana三个容器均正常运行后,在grafana web页面(192.168.1.88:3000)登录(初始用户名和密码:admin/admin)后添加prometheus地址(192.168.1.88:9090),还需要修改prometheus.yml文件添加cadvisor的地址及监控job。
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: 'docker' static_configs: - targets: ['192.168.1.88:8080']
以上监控添加完成后,需要在grafana的dashboards添加监控仪表盘,通过仪表盘显示监控内容
仪表盘可以从grafana官方获取