instrumental_tools 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2a27d4c996ef62de7323120f50798c5162414783
4
- data.tar.gz: e9cef00763a959a8038d740d899e9ff89d1a1c45
3
+ metadata.gz: 50f38f48908d371b0eed50d4675bec89713a1233
4
+ data.tar.gz: 00bbf5415ac6e113941cd84b2c987c6d24b23277
5
5
  SHA512:
6
- metadata.gz: d4f571bc227d0cf8e2668337542bfb8de90ac11e57964decb105457257949483befd35f3ee1c281b6db33ca64a48deedf803e2f95535313427e2e357df2621ca
7
- data.tar.gz: 670224fe2b26100ea685880bae31f9440f0d24a39604f3f27779dc0c71dd2bdc333f784e844c9e1d5bce37aec3472abda5adccd8402f6bcab86dd85fb421628d
6
+ metadata.gz: ee78fe22322104ac03e3dd747a56c83bd1ff97d1691cefc8d6d1c864db6a895dc00dd36628b0f5e30c5bc4bb07a9c7ffbb8a0393f073af713e4579805e66566c
7
+ data.tar.gz: d73c0e2c2bf43f0e4cd51982dde63c90f6a612f92f055352fa999cb0bc210f0c08e594c8ec185ccd2baf9653dc72660170164f1ed67e9f8d6b30c4bc137e29ac
data/BUILD.md CHANGED
@@ -18,6 +18,12 @@ to push a new copy of the gem directly to RubyGems. This presumes you have the c
18
18
 
19
19
  ## `deb`, `rpm` and `tgz` packages
20
20
 
21
+ To build everything, use the following command:
22
+
23
+ ```
24
+ rake package
25
+ ```
26
+
21
27
  Building new `deb`, `rpm` and `tgz` packages can be done via the following rake commands:
22
28
 
23
29
  For 32 bit Linux:
@@ -34,7 +40,6 @@ rake package:linux-x86_64:package
34
40
  rake package:linux-x86_64:tarball
35
41
  ```
36
42
 
37
-
38
43
  For Mac OS X:
39
44
 
40
45
  ```
@@ -47,6 +52,19 @@ rake package:osx:tarball
47
52
  {"url":"https://packagecloud.io","token":"YOUR PACKAGECLOUD API TOKEN"}
48
53
  ```
49
54
 
55
+ You will need to install some things:
56
+
57
+ ```
58
+ brew install gnu-tar --with-default-names
59
+ brew install rpm
60
+ ```
61
+
62
+ And then use the package_cloud gem to push our packages. For example:
63
+
64
+ ```
65
+ package_cloud push expectedbehavior/instrumental/ubuntu/precise instrumental-tools_YOUR_VERSION_HERE_amd64.deb
66
+ ```
67
+
50
68
  On release, the tarball should be uploaded to the Github releases page and linked to from the main README.md.
51
69
 
52
70
  ## `exe` packages
data/INSTALL.md CHANGED
@@ -17,7 +17,7 @@ Prebuilt `deb` and `rpm` packages are available via the [packagecloud.io](https:
17
17
 
18
18
  ```sh
19
19
  sudo apt-get install curl
20
- curl https://packagecloud.io/install/repositories/expectedbehavior/instrumental/script.deb | sudo bash
20
+ curl https://packagecloud.io/install/repositories/expectedbehavior/instrumental/script.deb.sh | sudo bash
21
21
  sudo apt-get install instrumental-tools
22
22
  ```
23
23
 
@@ -25,14 +25,14 @@ sudo apt-get install instrumental-tools
25
25
 
26
26
  ```sh
27
27
  su -c "apt-get install curl"
28
- su -c "curl https://packagecloud.io/install/repositories/expectedbehavior/instrumental/script.deb | bash"
28
+ su -c "curl https://packagecloud.io/install/repositories/expectedbehavior/instrumental/script.deb.sh | bash"
29
29
  su -c "apt-get install instrumental-tools"
30
30
  ```
31
31
 
32
32
  # Enterprise Linux (CentOS, AWS Linux, RedHat)
33
33
 
34
34
  ```sh
35
- curl https://packagecloud.io/install/repositories/expectedbehavior/instrumental/script.rpm | sudo bash
35
+ curl https://packagecloud.io/install/repositories/expectedbehavior/instrumental/script.rpm.sh | sudo bash
36
36
  sudo yum install instrumental-tools
37
37
  ```
38
38
 
data/README.md CHANGED
@@ -10,7 +10,12 @@ A collection of tools for monitoring servers with Instrumental ([www.instrumenta
10
10
 
11
11
  Installation instructions for supported platforms is available in [INSTALL.md](INSTALL.md). The recommended installation method is to use a prebuilt package, which will automatically install the application as a service in your operating system's startup list.
12
12
 
13
- Once you've installed the package, you will want to edit the `/etc/instrumental.yml` file with your Instrumental API key. Example `/etc/instrumental.yml`:
13
+ Once you've installed the package, you will want to edit the `/etc/instrumental.yml` file with your Instrumental API key. Example `/etc/instrumental.yml` (replace `YOUR_API_KEY` with the API key for your Instrumental project):
14
+
15
+ ```yaml
16
+ ---
17
+ api_key: YOUR_API_KEY
18
+ ```
14
19
 
15
20
  ## Sent Metrics
16
21
 
@@ -96,4 +101,4 @@ Mac OS users: Due to a bug in Ruby, instrument_server can occasionally deadlock
96
101
 
97
102
  ## Troubleshooting & Help
98
103
 
99
- We are here to help. Email us at [support@instrumentalapp.com](mailto:support@instrumentalapp.com), or visit the [Instrumental Support](https://fastestforward.campfirenow.com/6b934) Campfire room.
104
+ We are here to help. Email us at [support@instrumentalapp.com](mailto:support@instrumentalapp.com).
@@ -1,7 +1,7 @@
1
1
  default[:instrumental] = {}
2
2
  default[:instrumental][:api_key] = nil
3
3
 
4
- default[:instrumental][:version] = "1.1.2"
4
+ default[:instrumental][:version] = "1.1.3"
5
5
  default[:instrumental][:repo] = "https://s3.amazonaws.com/instrumental-tools"
6
6
 
7
7
  default[:instrumental][:curl_path] = "/usr/bin/curl"
@@ -25,8 +25,8 @@ file_name = case node["platform_family"]
25
25
  "instrumental-tools_%s_linux-%s.tar.gz" % [version, arch]
26
26
  end
27
27
 
28
- local_path = ::File.join(node[:instrumental][:local_path], file_name)
29
28
  dest_dir = node[:instrumental][:destination_dir]
29
+ local_path = ::File.join(node[:instrumental][:local_path] || dest_dir, file_name)
30
30
  conf_file = node[:instrumental][:config_file]
31
31
  remote_name = "%s/%s/%s" % [node[:instrumental][:repo], version, file_name]
32
32
  package_destination = ::File.join(dest_dir, file_name)
@@ -17,4 +17,4 @@ The following metric will be output only once for the host:
17
17
 
18
18
  * `running` - The total number of docker containers running on the host
19
19
 
20
- This script will only work if the `docker ps` process is exeutable by the same user that is running `instrument_server`. You should ensure that the user that exeutes the `instrument_server` process belongs to the `docker` group on your system.
20
+ This script will only work if the `docker ps` process is executable by the same user that is running `instrument_server`. You should ensure that the user that executes the `instrument_server` process belongs to the `docker` group on your system.
@@ -86,6 +86,7 @@ class SystemInspector
86
86
  swaptotal = memory_stats["SwapTotal"].to_f
87
87
  swapfree = memory_stats["SwapFree"].to_f
88
88
  swapused = swaptotal - swapfree
89
+ available = memory_stats["MemAvailable"].to_f if memory_stats["MemAvailable"]
89
90
 
90
91
  stats_to_record = {
91
92
  'memory.used_mb' => used / 1024,
@@ -96,6 +97,11 @@ class SystemInspector
96
97
 
97
98
  }
98
99
 
100
+ if available
101
+ stats_to_record['memory.available_mb'] = available / 1024
102
+ stats_to_record['memory.available_percent'] = (available / total) * 100
103
+ end
104
+
99
105
  if swaptotal > 0
100
106
  stats_to_record.merge!({
101
107
  'swap.used_mb' => swapused / 1024,
@@ -143,7 +149,7 @@ class SystemInspector
143
149
  def self.disk_io
144
150
  output = {}
145
151
  device_root = "/dev/"
146
- mounted_devices = File.read(mount_file).lines.map { |l| l.split.first }.select { |device| device.index(device_root) }.map { |device| File.realpath(device) }
152
+ mounted_devices = File.read(mount_file).lines.map { |l| l.split.first }.select { |device| device.index(device_root) }.map { |device| File.exists?(device) ? File.realpath(device) : nil }.compact
147
153
  diskstats_lines = File.read(disk_file).lines.map(&:split).select { |values| mounted_devices.include?(File.join(device_root, values[2])) }
148
154
  entries = diskstats_lines.map do |values|
149
155
  entry = {}
@@ -1,5 +1,5 @@
1
1
  module Instrumental
2
2
  module Tools
3
- VERSION = "1.1.3"
3
+ VERSION = "1.1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instrumental_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Expected Behavior
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-17 00:00:00.000000000 Z
11
+ date: 2016-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: instrumental_agent
@@ -247,7 +247,6 @@ files:
247
247
  - lib/instrumental_tools/system_inspector/win32.rb
248
248
  - lib/instrumental_tools/version.rb
249
249
  - puppet/.kitchen.yml
250
- - puppet/.librarian/puppet/config
251
250
  - puppet/Puppetfile
252
251
  - puppet/Puppetfile.lock
253
252
  - puppet/instrumental_tools/manifests/init.pp
@@ -287,7 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
287
286
  version: '0'
288
287
  requirements: []
289
288
  rubyforge_project:
290
- rubygems_version: 2.4.8
289
+ rubygems_version: 2.2.2
291
290
  signing_key:
292
291
  specification_version: 4
293
292
  summary: Command line tools for Instrumental
@@ -1,2 +0,0 @@
1
- ---
2
- LIBRARIAN_PUPPET_PATH: "/var/folders/xm/2h3f2hxd3fb5h0g0g3_60yf80000gp/T/default-nocm-ubuntu-1204-sandbox-20150506-73288-12zf3mo/modules"