Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # This script will install Docker, Grafana, InfluxDB, Graphite & CollectD. It will also add systemd service files to ensure auto startup each boot.
- # This script was created by reddit user /u/tyler_hammer and modified for CentOS 7 by /poppinsmac.
- #This is a combination of several guides with edits to make it as easy as possible for new people to start.
- sudo -u root bash << EOF
- # Docker Installation for CentOS 7
- # Update Packages
- yum update -y
- # Install wget, yum utilities
- yum install -y wget yum-utils
- # Enable Docker repo
- yum-config-manager \
- --add-repo \
- https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo
- # Install Docker
- yum makecache fast
- yum install -y docker-engine
- # Start and enable Docker
- systemctl start docker
- systemctl enable docker
- # Grafana Install - Docker - CentOS 7
- # Create Persistent Storage
- docker run -d -v /var/lib/grafana --name grafana-storage busybox:latest
- # Create Grafana Docker
- sudo docker create \
- --name=grafana \
- -p 3000:3000 \
- --volumes-from grafana-storage \
- -e "GF_SECURITY_ADMIN_PASSWORD=hunter2" \
- grafana/grafana
- # Start Grafana Docker
- docker start grafana
- # Make Bin folder for update scripts
- mkdir ~/bin
- # Download Grafana Update Script
- wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/grafanaupdate.sh -O ~/bin/updategrafana.sh
- # Create Auto Start Service
- wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/grafana.service -O /lib/systemd/system/grafana.service
- # Enable Grafana Service
- systemctl enable grafana.service
- # InfluxDB - Docker - CentOS 7
- # Create Local Storage
- mkdir -p /docker/containers/influxdb/conf/
- mkdir -p /docker/containers/influxdb/db/
- # Check Ownership
- chown ${USER:=$(/usr/bin/id -run)}:$USER -R /docker
- # Generate Default Config
- docker run --rm influxdb influxd config > /docker/containers/influxdb/conf/influxdb.conf
- # Create InfluxDB Container
- docker create \
- --name influxdb \
- -e PUID=1000 -e PGID=1000 \
- -p 8083:8083 -p 8086:8086 \
- -v /docker/containers/influxdb/conf/influxdb.conf:/etc/influxdb/influxdb.conf:ro \
- -v /docker/containers/influxdb/db:/var/lib/influxdb \
- influxdb -config /etc/influxdb/influxdb.conf
- # Start InfluxDB
- docker start influxdb
- # Create Influx Update Script
- wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/influxdbupdate.sh -O ~/bin/influxupdate.sh
- # Setup Auto Start
- wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/influxdb.service -O /lib/systemd/system/influxdb.service
- # Enable Service
- systemctl enable influxdb.service
- # CollecD Install - Docker - CentOS 7
- # Create CollectD Container
- docker create \
- --name collectd\
- -e "SF_API_TOKEN=XXXXXXXXXXXXXXXXXXXXXX" \
- -v /etc/hostname:/mnt/hostname:ro \
- -v /proc:/mnt/proc:ro \
- -v /var/run/docker.sock:/var/run/docker.sock \
- -v /etc:/mnt/etc:ro \
- quay.io/signalfuse/collectd
- # Auto Start
- wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/collectd.service -O /lib/systemd/system/collectd.service
- # Enable Service
- systemctl enable collectd.service
- # Graphite Install - Docker - CentOS 7
- # Create Graphite Container
- docker run -d\
- --name graphite\
- --restart=always\
- -p 80:80\
- -p 2003-2004:2003-2004\
- -p 2023-2024:2023-2024\
- -p 8125:8125/udp\
- -p 8126:8126\
- hopsoft/graphite-statsd
- # Auto Start
- wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/graphite.service -O /lib/systemd/system/graphite.service
- # Enable Service
- systemctl enable graphite.service
- # Install other dependencies
- yum install -y epel-release sshpass
- yum install -y net-snmp net-snmp-utils
- # Logging out of Root
- EOF
- # Remove the need to user Sudo before docker. This generally requires you to log out and log back in, which is why we restart at the end of the script.
- sudo usermod -aG docker $(whoami)
- # Restart Announcment for previous command
- echo Restarting VM
- # Restart
- sudo reboot
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement