Skip to content

Commit

Permalink
Add jolokia standalone agent to vagrant
Browse files Browse the repository at this point in the history
  • Loading branch information
sumo-drosiek committed Sep 18, 2020
1 parent b72b581 commit 917fbd9
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 0 deletions.
13 changes: 13 additions & 0 deletions vagrant/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ application-metrics-jmxexporter-docker-clean:
kubectl delete ns demo-jmxexporter-docker

## Jolokia based JMX
### Jolokia as javagent
application-metrics-jolokia-docker-build:
docker build /sumologic/vagrant/k8s/application_metrics/jmx/jolokia/docker/ -t localhost:32000/jolokia/docker
docker push localhost:32000/jolokia/docker
Expand All @@ -127,3 +128,15 @@ application-metrics-jolokia-docker-run:

application-metrics-jolokia-docker-clean:
kubectl delete ns demo-jolokia-docker

### Jolokia as standalone application
application-metrics-jolokia-agent-build:
docker build /sumologic/vagrant/k8s/application_metrics/jmx/jolokia/agent/ -t localhost:32000/jolokia/agent
docker push localhost:32000/jolokia/agent

application-metrics-jolokia-agent-run:
kubectl create ns demo-jolokia-agent || true
kubectl -n demo-jolokia-agent apply -f ${k8s_path}/application_metrics/jmx/jolokia/agent/statefulset.yaml

application-metrics-jolokia-agent-clean:
kubectl delete ns demo-jolokia-agent
5 changes: 5 additions & 0 deletions vagrant/k8s/application_metrics/jmx/jolokia/agent/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM tomcat:jdk8-adoptopenjdk-openj9
RUN apt-get update && apt-get install -y wget
RUN wget https://search.maven.org/remotecontent?filepath=org/jolokia/jolokia-jvm/1.6.2/jolokia-jvm-1.6.2-agent.jar -O /jolokia-jvm-1.6.2-agent.jar
COPY entrypoint.sh /entrypoint.sh
CMD ["/entrypoint.sh"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
bash catalina.sh run 2>&1 | tee -a /tmp/stdout.log &
sleep 5
java -jar /jolokia-jvm-1.6.2-agent.jar start org.apache.catalina.startup.Bootstrap 2>&1 | tee -a /tmp/stdout.log &
tail -f /tmp/stdout.log
60 changes: 60 additions & 0 deletions vagrant/k8s/application_metrics/jmx/jolokia/agent/statefulset.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: jolokia
namespace: demo-jolokia-agent
spec:
selector:
matchLabels:
app: jolokia
serviceName: jolokia
template:
metadata:
labels:
app: jolokia
annotations:
telegraf.influxdata.com/inputs: |+
[[inputs.jolokia2_agent]]
urls = ["http://127.0.0.1:8778/jolokia"]
[[inputs.jolokia2_agent.metric]]
name = "java_lang_OperatingSystem"
mbean = "java.lang:type=OperatingSystem"
paths = ["ProcessCpuLoad","SystemCpuLoad"]
[[inputs.jolokia2_agent.metric]]
name = "java_lang_Memory"
mbean = "java.lang:type=Memory"
paths = ["HeapMemoryUsage", "NonHeapMemoryUsage"]
[[inputs.jolokia2_agent.metric]]
name = "java_lang_GarbageCollector"
mbean = "java.lang:name=*,type=GarbageCollector"
paths = ["CollectionTime", "CollectionCount"]
tag_keys = ["name"]
[[inputs.jolokia2_agent.metric]]
name = "java_lang_Runtime"
mbean = "java.lang:type=Runtime"
paths = ["Uptime"]
[[inputs.jolokia2_agent.metric]]
name = "java_lang_Threading"
mbean = "java.lang:type=Threading"
paths = ["PeakThreadCount"]
[[inputs.jolokia2_agent.metric]]
name = "java_lang_ClassLoading"
mbean = "java.lang:type=ClassLoading"
paths = ["UnloadedClassCount"]
telegraf.influxdata.com/class: sumologic-prometheus
telegraf.influxdata.com/limits-cpu: '750m'
prometheus.io/scrape: "true"
prometheus.io/port: "9273"
spec:
containers:
- name: jolokia
image: localhost:32000/jolokia/agent
imagePullPolicy: Always

0 comments on commit 917fbd9

Please sign in to comment.