Skip to content

Instantly share code, notes, and snippets.

@fipar
Last active April 23, 2018 21:12
Show Gist options
  • Save fipar/8477a4f7384f0460112e201e425afdae to your computer and use it in GitHub Desktop.
Save fipar/8477a4f7384f0460112e201e425afdae to your computer and use it in GitHub Desktop.
Tests for the PMM external collectors plmce18 presentation
#!/bin/bash
cleanup_started_containers()
{
local _containers="pmm-server pmm-data cassandra1 cassandra2 cassandra3"
for container in $_containers; do
docker kill $container &>/dev/null
docker rm $container &>/dev/null
done
docker network rm pmm-network
}
create_network()
{
docker network create --driver bridge pmm-network
}
create_and_start_pmm_containers()
{
docker pull percona/pmm-server:latest
docker create \
-v /opt/prometheus/data \
-v /opt/consul-data \
-v /var/lib/mysql \
-v /var/lib/grafana \
--name pmm-data \
percona/pmm-server:latest /bin/true
docker run -d \
-p 80:80 \
--volumes-from pmm-data \
--name pmm-server \
--restart always \
--network pmm-network \
percona/pmm-server:latest
}
create_and_start_cassandra()
{
# docker run --name cassandra1 -p 7400:7400 -d fipar/cassandra-pmm:v1
for i in 1 2; do
docker run --name cassandra$i --network pmm-network -p 127.0.0.1:${i}7400:7400 -e CASSANDRA_CLUSTER_NAME=plmce -d fipar/cassandra-pmm:v1
done
}
configure_and_start_pmm_on_cassandra_nodes()
{
for i in 1 2; do
docker exec -ti cassandra$i /usr/local/bin/configure-pmm-client.sh
done
}
main()
{
cleanup_started_containers
create_network
create_and_start_pmm_containers
create_and_start_cassandra
sleep 4
configure_and_start_pmm_on_cassandra_nodes
echo "dashboard that can be imported: https://github.com/fipar/docker-cassandra-prometheus/blob/master/cassandra_rev3.json"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment