You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					63 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					63 lines
				
				1.6 KiB
			| 
								 
											7 years ago
										 
									 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exit 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								echo 'deb http://packagecloud.io/grafana/stable/debian/ stretch main' >> /etc/apt/sources.list
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								curl https://packagecloud.io/gpg.key | sudo apt-key add -
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								apt update
							 | 
						||
| 
								 | 
							
								apt-get -y install apt install grafana
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								systemctl daemon-reload
							 | 
						||
| 
								 | 
							
								systemctl enable grafana-server
							 | 
						||
| 
								 | 
							
								systemctl start grafana-server
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Set up pen
							 | 
						||
| 
								 | 
							
								# To run manually:
							 | 
						||
| 
								 | 
							
								apt-get -y install pen mariadb-client
							 | 
						||
| 
								 | 
							
								useradd pen
							 | 
						||
| 
								 | 
							
								echo "d /var/run/pen 0755 pen pen -" > /etc/tmpfiles.d/pen.conf
							 | 
						||
| 
								 | 
							
								systemd-tmpfiles --create
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								mkdir -p /etc/pen
							 | 
						||
| 
								 | 
							
								cat > /etc/pen/galera.cfg <<EOF
							 | 
						||
| 
								 | 
							
								server 0 address 10.42.1.171 port 3306
							 | 
						||
| 
								 | 
							
								server 2 address 10.42.1.172 port 3306
							 | 
						||
| 
								 | 
							
								server 3 address 10.42.1.173 port 3306
							 | 
						||
| 
								 | 
							
								server 4 address 10.42.1.174 port 3306
							 | 
						||
| 
								 | 
							
								debug 1
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cat > /lib/systemd/system/pen-galera.service <<EOF
							 | 
						||
| 
								 | 
							
								[Unit]
							 | 
						||
| 
								 | 
							
								Description=Pen load balancer (galera)
							 | 
						||
| 
								 | 
							
								After=network.target
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Service]
							 | 
						||
| 
								 | 
							
								User=pen
							 | 
						||
| 
								 | 
							
								Type=forking
							 | 
						||
| 
								 | 
							
								PIDFile=/var/run/pen/galera.pid
							 | 
						||
| 
								 | 
							
								ExecStart=/usr/bin/pen -u pen -C /var/run/pen/galera.ctl -F /etc/pen/galera.cfg -p /var/run/pen/galera.pid 127.0.0.1:3306
							 | 
						||
| 
								 | 
							
								Restart=on-failure
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Install]
							 | 
						||
| 
								 | 
							
								WantedBy=multi-user.target
							 | 
						||
| 
								 | 
							
								EOF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								systemctl restart pen-galera
							 | 
						||
| 
								 | 
							
								systemctl enable pen-galera.service
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Set up mysql
							 | 
						||
| 
								 | 
							
								# In database, to store grafana data:
							 | 
						||
| 
								 | 
							
								CREATE DATABASE grafana CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
							 | 
						||
| 
								 | 
							
								CREATE USER 'grafana'@'10.42.1.111' IDENTIFIED BY 'password';
							 | 
						||
| 
								 | 
							
								GRANT ALL PRIVILEGES ON grafana.* TO 'grafana'@'10.42.1.111';
							 | 
						||
| 
								 | 
							
								FLUSH PRIVILEGES;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Create database for grafana to poll mysql:
							 | 
						||
| 
								 | 
							
								CREATE USER 'grafanaReader'@'10.42.1.111' IDENTIFIED BY 'password';
							 | 
						||
| 
								 | 
							
								GRANT SELECT ON grafana.* TO 'grafanaReader'@'10.42.1.111';
							 | 
						||
| 
								 | 
							
								FLUSH PRIVILEGES;
							 | 
						||
| 
								 | 
							
								
							 |