app-metrics/prometheus-cpu-mem-monitor: Add very first draft version #28
					 7 changed files with 91 additions and 0 deletions
				
			
		
							
								
								
									
										6
									
								
								app-metrics/prometheus-cpu-mem-monitor/ChangeLog
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								app-metrics/prometheus-cpu-mem-monitor/ChangeLog
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | *prometheus-cpu-mem-monitor-0.0.0.1 (11 Nov 2019) | ||||||
|  | 
 | ||||||
|  |   11 Nov 2019;  <manuel@gentoo.org> +files/prometheus-cpu-mem-monitor.service, | ||||||
|  |   +files/prometheus-cpu-mem-monitor.sh, +files/prometheus-cpu-mem-monitor.timer, | ||||||
|  |   +metadata.xml, +prometheus-cpu-mem-monitor-0.0.0.1.ebuild: | ||||||
|  |   app-metrics/prometheus-cpu-mem-monitor: Add very first draft version | ||||||
							
								
								
									
										6
									
								
								app-metrics/prometheus-cpu-mem-monitor/Manifest
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								app-metrics/prometheus-cpu-mem-monitor/Manifest
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | AUX prometheus-cpu-mem-monitor.service 243 BLAKE2B 6f774e36b2e1b2dbc1614a930f2e64da9b664a0bef6023bb69db571949266625f32ec057ac31be12f1ec2fbcb9c5d7a732377471f750b5346384c366808ba42a SHA512 7d21c89a0ebf577fe654ef93b7098b4ef40127892213e26141583d64a8fadc683799b0da588b8ddb4a692129de536e3c75dc80be83939ba7a5c47f45e84be7b2 | ||||||
|  | AUX prometheus-cpu-mem-monitor.sh 564 BLAKE2B 1fcff16c183709c569398795afbce2ab11e558badfb437b8e4048cde5102e7ae7fe58ea11f64cb1bce7754bdfd7f85bddcaaf4deefd2a658ca76b1973df9d8bc SHA512 dfbd52eb86dca8e0d576f262b98a4efe145524653a3cfe9ae51e14695d0a02d3fc7618e0f236b5200ef59b84d81acf373b3a49665dbc23c694f299a29569479e | ||||||
|  | AUX prometheus-cpu-mem-monitor.timer 291 BLAKE2B d41b99088752863c3ffaf065279702a5ddec90edabe0fd7ec11d71b883756f370c4236aa1c4074b4d3869b02f29142aca4b5247dd49281299d5625a3fe4f3509 SHA512 2245655fec3417c44c64c04074f1f5c061e7c80a3b34ba0f683c12b74b1a7c5c46abec16bb78fca479381982d8286bab0919be223c2e9c08d26d3e80ced772a3 | ||||||
|  | EBUILD prometheus-cpu-mem-monitor-0.0.0.1.ebuild 470 BLAKE2B 804936dedf7f4ee79ae4094a409779ccbe2e7fbcd0e3411f3d20adb344313f7a48686d2f9258514abbb3f1a1e8af060fe67bc2ad5ccb92e5d254069ee7e20501 SHA512 37cbfca25bf066276284b379befb759b5f8f7bcb6bfd4b9c2653e561c12368ac9819a3a12ba00707631e5603b09bad358cf3ca2800359f3de7b0763b8ff3b54b | ||||||
|  | MISC ChangeLog 343 BLAKE2B 140091e8f77dcf9b15534d36836af7aac2981d7bf6dc7b042094fc992eb6da938df6dea003c5130568845953e8e74ec35d577b9e945128934e383ddb805c3b2b SHA512 c0a7b88771132f795a790b6bcf9586053fd539e0e48de20fb08030ea2e3dd22a6e1e2e640241403124bd16f9bfaf3617c7410df770c4ee697f73bca24cdef076 | ||||||
|  | MISC metadata.xml 337 BLAKE2B bd72b6097fead5eaf80082790d3712ae0893b118140b62f58639f0e5c56bebf57dbd0ccd0ea19af82b2dce88c88c494d88290f98df4818e4fad3f4386398d171 SHA512 aee4825d8b90a8fd84fb558b9af4b7eb889fcf81bae6c7b317a9d69f62b06dd0f0bc2aa91aa2c32f10ff91fdbf64b341d7e5adc3c65a5225c7e0e92d7a6b7816 | ||||||
|  | @ -0,0 +1,11 @@ | ||||||
|  | # Calculate host statistics for prometheus | ||||||
|  | # Written by Manuel Friedli | ||||||
|  | # Changelog: | ||||||
|  | # 2019-11-10: Inception | ||||||
|  | 
 | ||||||
|  | [Unit] | ||||||
|  | Description=Calculate CPU/Memory stats for prometheus | ||||||
|  | 
 | ||||||
|  | [Service] | ||||||
|  | Type=oneshot | ||||||
|  | ExecStart=/usr/bin/prometheus-cpu-mem-monitor.sh | ||||||
							
								
								
									
										19
									
								
								app-metrics/prometheus-cpu-mem-monitor/files/prometheus-cpu-mem-monitor.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								app-metrics/prometheus-cpu-mem-monitor/files/prometheus-cpu-mem-monitor.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,19 @@ | ||||||
|  | #!/bin/bash | ||||||
|  | # Extract per-process CPU and memory usage from "ps aux" and send the data to prometheus | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | TARGET_URL="http://localhost:9091/metrics/job/top/instance/vps-02.friedli.info" | ||||||
|  | 
 | ||||||
|  | z=$(ps aux) | ||||||
|  | 
 | ||||||
|  | while read -r z | ||||||
|  | do | ||||||
|  | 	cpustats=$cpustats$(awk '{print "cpu_usage{process=\""$11"\", pid=\""$2"\"}", $3z}'); | ||||||
|  | 	memstats=$memstats$(awk '{print "memory_usage{process=\""$11"\", pid=\""$2"\"}", $4z}'); | ||||||
|  | done <<< "$z" | ||||||
|  | 
 | ||||||
|  | curl -X POST -H "Content-Type: text/plain" --data "$cpustats | ||||||
|  | " ${TARGET_URL} | ||||||
|  | 
 | ||||||
|  | curl -X POST -H "Content-Type: text/plain" --data "$memstats | ||||||
|  | " ${TARGET_URL} | ||||||
|  | @ -0,0 +1,15 @@ | ||||||
|  | # Timer for calculating host statistics for prometheus | ||||||
|  | # Written by Manuel Friedli | ||||||
|  | # Changelog: | ||||||
|  | # 2019-11-10: Inception | ||||||
|  | 
 | ||||||
|  | [Unit] | ||||||
|  | Description=Timer for calculating CPU/Memory stats for prometheus | ||||||
|  | 
 | ||||||
|  | [Timer] | ||||||
|  | OnBootSec=1s | ||||||
|  | OnUnitInactiveSec=10s | ||||||
|  | AccuracySec=1s | ||||||
|  | 
 | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
							
								
								
									
										11
									
								
								app-metrics/prometheus-cpu-mem-monitor/metadata.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								app-metrics/prometheus-cpu-mem-monitor/metadata.xml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> | ||||||
|  | <pkgmetadata> | ||||||
|  | 	<maintainer type="person"> | ||||||
|  | 		<email>manuel@fritteli.ch</email> | ||||||
|  | 		<name>Manuel Friedli</name> | ||||||
|  | 	</maintainer> | ||||||
|  | 	<upstream> | ||||||
|  | 		<remote-id type="github">prometheus/node_exporter</remote-id> | ||||||
|  | 	</upstream> | ||||||
|  | </pkgmetadata> | ||||||
|  | @ -0,0 +1,23 @@ | ||||||
|  | # Copyright 1999-2019 Gentoo Authors | ||||||
|  | # Distributed under the terms of the GNU General Public License v2 | ||||||
|  | 
 | ||||||
|  | EAPI=6 | ||||||
|  | inherit user systemd | ||||||
|  | 
 | ||||||
|  | KEYWORDS="~amd64" | ||||||
|  | 
 | ||||||
|  | DESCRIPTION="CPU and memory monitoring for prometheus" | ||||||
|  | HOMEPAGE="https://gittr.ch/linux/gentoo-overlay" | ||||||
|  | LICENSE="GPL-2" | ||||||
|  | SLOT="0" | ||||||
|  | IUSE="" | ||||||
|  | 
 | ||||||
|  | DEPEND="sys-process/procps" | ||||||
|  | 
 | ||||||
|  | S="${WORKDIR}" | ||||||
|  | 
 | ||||||
|  | src_install() { | ||||||
|  | 	dobin "${FILESDIR}/${PN}.sh" | ||||||
|  | 	systemd_dounit "${FILESDIR}/${PN}.service" | ||||||
|  | 	systemd_dounit "${FILESDIR}/${PN}.timer" | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue