最近需要使用datadog来监控系统运行情况,由于中间遇到了一些困难,不断的向datadog官方发邮件,幸运的是问题都一一解决了,这里记录一下重要配置方便以后查看:
操作平台:linux ubuntu
docker下面的container有:
server
tomcat
nginx
kafaka
如何只安装一个dd-agent却监测所有的container?
1. 安装dd-agent container
docker run -d --name dd-agent -h `hostname` -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro -v /cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your_api_key_here}
datadog/docker-dd-agent
2. 从dd-agent contianer里把cofig里的文件全部拷贝到docker的主机上
docker cp dd-agent:/etc/dd-agent /goeasy/
3. 在docker的主机上 修改conf.d里的配置文件
4. 移除之前创建的dd-agent container
docker rm -f dd-agent
5. 重新启动一个dd-agent且映射conf.d的路径确保每次都从docker主机上读取配置:
sudo weave run 192.168.31.110/24 -d --name dd-agent -h `hostname` -v /goeasy:/goeasy -v /goeasy/dd-agent:/etc/dd-agent -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your app key} datadog/docker-dd-agent
其中192.168.31.110是我手动设置的dd-agent的IP
如何监测JAVA
1. 在启动java时加入下列启动参数用来打开JMX remote连接
-Dcom.sun.management.jmxremote.port=7199 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
2. 在docker host里配置jmx.yaml文件
init_config:
instances:
- host: {server服务器的IP的地址}
port: 7199
name: jmx_instance
java_bin_path: /goeasy/jdk1.8.0_65/bin/java
conf:
- include:
domain: java.lang
bean: my_first_bean
attribute:
attributeName:
metric_type: counter
alias: jmx.my_first_metric
3. 移除之前创建的dd-agent container
docker rm -f dd-agent
4. 重新启动一个dd-agent且映射conf.d的路径确保每次都从docker主机上读取配置:
sudo weave run 192.168.31.110/24 -d --name dd-agent -h `hostname` -v /goeasy:/goeasy -v /goeasy/dd-agent:/etc/dd-agent -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your app key} datadog/docker-dd-agent
5. 进入到dd-agent container,且用下面的command来看是否监测成功:
/etc/init.d/datadog/ info
如何监测Tomcat
1. 在tomcat里配置JMX remote connection (catalina.sh的JAVA_OPTS)
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7199 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
2. 在docker host里配置tomcat.yaml文件 (init_config里的配置内容请参考datadog官网)
instances:
- host: {tomcat的IP}
port: 7199
name: tomcat_instance
java_bin_path: /uwantsoft/public/jre1.8.0_60/bin/java
init_config:
conf:
- include:
type: ThreadPool
attribute:
maxThreads:
alias: tomcat.threads.max
metric_type: gauge
currentThreadCount:
alias: tomcat.threads.count
metric_type: gauge
currentThreadsBusy:
alias: tomcat.threads.busy
metric_type: gauge
3. 移除之前创建的dd-agent container
docker rm -f dd-agent
4. 重新启动一个dd-agent且映射conf.d的路径确保每次都从docker主机上读取配置:
sudo weave run 192.168.31.110/24 -d --name dd-agent -h `hostname` -v /goeasy:/goeasy -v /goeasy/dd-agent:/etc/dd-agent -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your app key} datadog/docker-dd-agent
5. 进入到dd-agent container,且用下面的command来看是否监测成功:
/etc/init.d/datadog/ info
如何监测Nginx
1. 确保在安装nginx的同时也安装了http_stub_status_module的
安装方法参考:http://xiaoxiaoxiqincai.iteye.com/blog/2270140
2. 修改nginx.yaml
init_config:
instances:
# For every instance, you have an `nginx_status_url` and (optionally)
# a list of tags.
- nginx_status_url: http://172.17.0.1/nginx_status/
tags:
- instance:foo
3. 移除之前创建的dd-agent container
docker rm -f dd-agent
4. 重新启动一个dd-agent且映射conf.d的路径确保每次都从docker主机上读取配置:
sudo weave run 192.168.31.110/24 -d --name dd-agent -h `hostname` -v /goeasy:/goeasy -v /goeasy/dd-agent:/etc/dd-agent -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your app key} datadog/docker-dd-agent
5. 进入到dd-agent container,且用下面的command来看是否监测成功:
/etc/init.d/datadog/ info
2. 在docker host里配置nginx.yaml
init_config:
instances:
# For every instance, you have an `nginx_status_url` and (optionally)
# a list of tags.
- nginx_status_url: http://{nginx的IP}/nginx_status/
tags:
- instance:foo
如何监测Kafka
1. 配置kafka,确保JMX remote connection是打开的 (Kafka根目录/bin/kafka-server-start.sh)
修改下面配置:
export KAFKA_HEAP_OPTS="-Xmx512m -Xms512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
2. 配置kafka.yaml文件 (init_config里的配置内容请参考datadog官网)
##########
# WARNING
##########
# This sample works only for Kafka >= 0.8.2.
# If you are running a version older than that, you can refer to agent 5.2.x released
# sample files, https://raw.githubusercontent.com/DataDog/dd-agent/5.2.1/conf.d/kafka.yaml.example
instances:
- host: {kafka的IP}
port: 9999
name: kafka_instance
java_bin_path: /uwantsoft/public/jre1.8.0_60/bin/java
init_config:
is_jmx: true
# Metrics collected by this check. You should not have to modify this.
conf:
#
# Aggregate cluster stats
#
- include:
domain: 'kafka.server'
bean: 'kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec'
attribute:
MeanRate:
metric_type: gauge
alias: kafka.net.bytes_out
3. 移除之前创建的dd-agent container
docker rm -f dd-agent
4. 重新启动一个dd-agent且映射conf.d的路径确保每次都从docker主机上读取配置:
sudo weave run 192.168.31.110/24 -d --name dd-agent -h `hostname` -v /goeasy:/goeasy -v /goeasy/dd-agent:/etc/dd-agent -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your app key} datadog/docker-dd-agent
5. 进入到dd-agent container,且用下面的command来看是否监测成功:
/etc/init.d/datadog/ info
如何监测ZooKeeper
1. 配置zk.yaml
init_config:
instances:
- host: {ZooKeeper的IP}
port: 2181
# timeout: 3
# tags:
# - optional_tag1
# - optional_tag2
2. 移除之前创建的dd-agent container
docker rm -f dd-agent
3. 重新启动一个dd-agent且映射conf.d的路径确保每次都从docker主机上读取配置:
sudo weave run 192.168.31.110/24 -d --name dd-agent -h `hostname` -v /goeasy:/goeasy -v /goeasy/dd-agent:/etc/dd-agent -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your app key} datadog/docker-dd-agent
4. 进入到dd-agent container,且用下面的command来看是否监测成功:
/etc/init.d/datadog/ info
如何监测docker
1. 配置docker.yaml
init_config:
instances:
- url: "unix://var/run/docker.sock"
new_tag_names: true
2. 移除之前创建的dd-agent container
docker rm -f dd-agent
3. 重新启动一个dd-agent且映射conf.d的路径确保每次都从docker主机上读取配置:
sudo weave run 192.168.31.110/24 -d --name dd-agent -h `hostname` -v /goeasy:/goeasy -v /goeasy/dd-agent:/etc/dd-agent -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your app key} datadog/docker-dd-agent
4. 进入到dd-agent container,且用下面的command来看是否监测成功:
/etc/init.d/datadog/ info
分享到:
相关推荐
docker中包含centos,docker容器配置,java相关配置,mysql,nginx,python,tomcat,zookeeper的安装和基本使用
准备mysql, tomcat, nginx的Dockerfile文件,用于生成定制的镜像 redis,zookeeper 镜像直接从云端获取。 打开终端进入tomcat目录,执行: docker build -t conf_tomcat:0.0.1 . 再进入nginx目录,执行: docker ...
Zabbix监控第三方中间件内存及CPU使用情况模板 nginx redis mysql tomcat Rocketmq mongodb kafka zookeeper httpd elasticsearch jenkins hbase hadoop hive docker
Docker从零开始操作文档,包含docker安装、防火墙操作、本地仓库registry、nginx安装使用、tomcat安装使用、mysql安装使用、ftp安装使用、zookeeper安装使用、oracle安装使用、redis安装使用、jdk安装使用、nexus...
docker-compose-linux,包含以下 activemq,baidupcs-web,canal,confluence,couchbase,efk,elasticsearch,elk,elkf,fastdfs,filebeat,flowable,gitlab...sonarqube,tomcat,walle,xxl-job,yapi,yearning,zipkin,zookeeper
1.Linux系统环境安装 2.Git 3.JDK 4.Node 5.Python 6.Maven 7.MySQL 8.Redis 9.RabbitMQ 10.Tomcat 11.Nginx 12.Docker 13.Kubernetes 14.ElasticSearch 15.ZooKeeper 16.Kafka
编程环境和软件工具安装手册,各种环境安装,包括...应⽤服务器Tomcat安装部署,Web服务器Nginx安装部署,Docker环境安装,Kubernetes集群部署,ElasticSearch集群部署,ZooKeeper安装部署,消息队列Kafka安装部署等
本文涵盖IT运维领域常见中间件的学习,包括mysql redis Tomcat nginx zabbix ansile docker lvs+keepalive jdk kafka mongoDB zookeeper k8s ELK hbase HDFS ElasticSearch Promethes ETCD KVM mino等,基本都是理论...
本文涵盖IT运维领域常见中间件的学习,包括mysql redis Tomcat nginx zabbix ansile docker lvs+keepalive jdk kafka mongoDB zookeeper k8s ELK hbase HDFS ElasticSearch Promethes ETCD KVM mino等,基本都是理论...
此手册收纳了包括linux系统的安装,以及在linux系统中安装git,jdk,node.js,python,Maven,mysql,redis,tomcat,docker,nginx,rabbtiMq,zookeeper,kafka等软件。该手册还携带了大量的视频链接,绝对的好...
里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点高级进阶干货视频和面试资料
java高级开发工程师简历模板 ...3、熟悉Java并发编程、分布式系统开发、常用中间件(如Nginx、Tomcat等),熟练使用Linux; 4、熟悉Docker、ELK、ZooKeeper、git/svn等; 5、具有良好学习能力,分析能力和解决问题的能力。
分布式版本管理⼯具Git与Github Mysql⾼级 Mycat实现MySQL的分布式、分库分表、读写分离 Nginx反向代理、负载均衡、动静分离 JVM内存模型、参数调优 JUC线程⾼级 分布式架构注册中⼼Zookeeper 虚拟化应⽤容器Docker ...
java编程每天学 notes多数文章来自网上优秀文章摘要整合,学习时自己记录的笔记 依赖环境: JDK版本:1.8; Mysql版本:8.0.16; Kafka版本:2.2.1; RabbitMQ版本:3.7.15; Redis版本:5.0.4; Maven版本:...
并发编程|-2.spring源码解读|-3.Mybatis专题|-4.JVM性能调优|-5.Tomcat |-6.MySQL |-7.Nginx |- 8.高性能Netty框架|-9.分布式思维|-10.Zookeeper |-11架构核心服务层技术基础篇|-12 dubbo |-13消息中间件|-14.redis ...
#jun_linux 常用开发环境工具
│ ├── 04-Docker │ ├── 05-Jenkins │ ├── 06-Gitlab │ ├── 07-Nginx-tengine-openresty-kong │ ├── 08-EFK │ ├── 09-Redis │ ├── 10-GoAccess │ ├── 11-vsftp │ ├── ...