Advertisement
Guest User

GrafanaCentOSScript

a guest
Feb 1st, 2017
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # This script will install Docker, Grafana, InfluxDB, Graphite & CollectD. It will also add systemd service files to ensure auto startup each boot.
  4. # This script was created by reddit user /u/tyler_hammer and modified for CentOS 7 by /poppinsmac.
  5. #This is a combination of several guides with edits to make it as easy as possible for new people to start.
  6.  
  7. sudo -u root bash << EOF
  8.  
  9. # Docker Installation for CentOS 7
  10.  
  11. # Update Packages
  12. yum update -y
  13.  
  14. # Install wget, yum utilities
  15. yum install -y wget yum-utils
  16.  
  17. # Enable Docker repo
  18. yum-config-manager \
  19. --add-repo \
  20. https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo
  21.  
  22. # Install Docker
  23. yum makecache fast
  24. yum install -y docker-engine
  25.  
  26. # Start and enable Docker
  27. systemctl start docker
  28. systemctl enable docker
  29.  
  30. # Grafana Install - Docker - CentOS 7
  31.  
  32. # Create Persistent Storage
  33. docker run -d -v /var/lib/grafana --name grafana-storage busybox:latest
  34.  
  35. # Create Grafana Docker
  36. sudo docker create \
  37. --name=grafana \
  38. -p 3000:3000 \
  39. --volumes-from grafana-storage \
  40. -e "GF_SECURITY_ADMIN_PASSWORD=hunter2" \
  41. grafana/grafana
  42.  
  43. # Start Grafana Docker
  44. docker start grafana
  45.  
  46. # Make Bin folder for update scripts
  47. mkdir ~/bin
  48.  
  49. # Download Grafana Update Script
  50. wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/grafanaupdate.sh -O ~/bin/updategrafana.sh
  51.  
  52. # Create Auto Start Service
  53. wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/grafana.service -O /lib/systemd/system/grafana.service
  54.  
  55. # Enable Grafana Service
  56. systemctl enable grafana.service
  57.  
  58. # InfluxDB - Docker - CentOS 7
  59.  
  60. # Create Local Storage
  61. mkdir -p /docker/containers/influxdb/conf/
  62. mkdir -p /docker/containers/influxdb/db/
  63.  
  64. # Check Ownership
  65. chown ${USER:=$(/usr/bin/id -run)}:$USER -R /docker
  66.  
  67. # Generate Default Config
  68. docker run --rm influxdb influxd config > /docker/containers/influxdb/conf/influxdb.conf
  69.  
  70. # Create InfluxDB Container
  71. docker create \
  72. --name influxdb \
  73. -e PUID=1000 -e PGID=1000 \
  74. -p 8083:8083 -p 8086:8086 \
  75. -v /docker/containers/influxdb/conf/influxdb.conf:/etc/influxdb/influxdb.conf:ro \
  76. -v /docker/containers/influxdb/db:/var/lib/influxdb \
  77. influxdb -config /etc/influxdb/influxdb.conf
  78.  
  79. # Start InfluxDB
  80. docker start influxdb
  81.  
  82. # Create Influx Update Script
  83. wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/influxdbupdate.sh -O ~/bin/influxupdate.sh
  84.  
  85. # Setup Auto Start
  86. wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/influxdb.service -O /lib/systemd/system/influxdb.service
  87.  
  88. # Enable Service
  89. systemctl enable influxdb.service
  90.  
  91. # CollecD Install - Docker - CentOS 7
  92.  
  93. # Create CollectD Container
  94. docker create \
  95. --name collectd\
  96. -e "SF_API_TOKEN=XXXXXXXXXXXXXXXXXXXXXX" \
  97. -v /etc/hostname:/mnt/hostname:ro \
  98. -v /proc:/mnt/proc:ro \
  99. -v /var/run/docker.sock:/var/run/docker.sock \
  100. -v /etc:/mnt/etc:ro \
  101. quay.io/signalfuse/collectd
  102.  
  103.  
  104. # Auto Start
  105. wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/collectd.service -O /lib/systemd/system/collectd.service
  106.  
  107. # Enable Service
  108. systemctl enable collectd.service
  109.  
  110. # Graphite Install - Docker - CentOS 7
  111.  
  112. # Create Graphite Container
  113. docker run -d\
  114. --name graphite\
  115. --restart=always\
  116. -p 80:80\
  117. -p 2003-2004:2003-2004\
  118. -p 2023-2024:2023-2024\
  119. -p 8125:8125/udp\
  120. -p 8126:8126\
  121. hopsoft/graphite-statsd
  122.  
  123. # Auto Start
  124. wget https://raw.githubusercontent.com/tylerhammer/grafana/master/Setup%20Requirements/graphite.service -O /lib/systemd/system/graphite.service
  125.  
  126. # Enable Service
  127. systemctl enable graphite.service
  128.  
  129. # Install other dependencies
  130. yum install -y epel-release sshpass
  131. yum install -y net-snmp net-snmp-utils
  132.  
  133. # Logging out of Root
  134. EOF
  135.  
  136. # 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.
  137. sudo usermod -aG docker $(whoami)
  138.  
  139. # Restart Announcment for previous command
  140. echo Restarting VM
  141.  
  142. # Restart
  143. sudo reboot
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement