forked from bjango/istatserverlinux
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
167 lines (119 loc) · 4.1 KB
/
Copy pathREADME
File metadata and controls
167 lines (119 loc) · 4.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
About iStat Server
==================
iStat Server is a remote system monitoring daemon for iStat View-compatible
clients. This maintained fork keeps the original protocol usable on modern
Linux systems and adds preliminary macOS Apple Silicon support.
The original project was released by Bjango and is based on istatd by William
Tisater. This fork is maintained at:
https://github.com/ulf16/istatserverlinux
Supported OSs
-------------
- Linux on x86_64, arm64, and armv7l
- macOS on Apple Silicon, currently tested on Mac mini M1
- FreeBSD, DragonFly BSD, OpenBSD, NetBSD and other BSD based OSs
- AIX
- Solaris
- HP-UX (still in development and not tested)
Current telemetry
-----------------
Linux:
- CPU usage, task list, load, uptime, memory, swap, and process memory
- Disk capacity and disk I/O
- Network interface throughput
- lm_sensors temperature and fan sensors
- CPU frequency through cpufreq
- Intel RAPL CPU package/core/uncore power
- GPU telemetry where exposed through sysfs, DRM, devfreq, or i915 debugfs
macOS Apple Silicon:
- CPU usage, task list, load, uptime, memory, swap, and memory pressure
- Disk capacity using APFS-aware volume accounting
- Disk I/O mapped back to displayed APFS volumes, including multi-disk volumes
- Network interface throughput
- Apple HID temperature sensors with readable Apple Silicon names
- Fan speed through SMC-compatible interfaces
- CPU/GPU/ANE/RAM/PCIe power where available through IOReport/powermetrics
- CPU and GPU frequency through the powermetrics helper
- AGX GPU load and unified GPU memory counters where available
Requirements
------------
- C and C++ compilers such as gcc, g++, or clang
- Autoconf, automake, libtool, and pkg-config/pkgconf
- OpenSSL/libssl plus development headers
- SQLite3 plus development headers
- libxml2 plus development headers
Optional libraries:
- libavahi plus development headers for Bonjour discovery on Linux
- lm_sensors/libsensors4 plus development headers for Linux sensors
On macOS, Homebrew packages are sufficient for the build dependencies. The
Apple Silicon helper installed by this fork is used for powermetrics-derived
frequency and power values.
macOS Apple Silicon helper
--------------------------
Apple's `powermetrics` tool requires elevated privileges. This fork ships a
small LaunchDaemon helper that samples powermetrics and writes a plain key/value
file read by the unprivileged server process.
After installing the server under `/opt/istatserverlinux`, install the helper:
```sh
sudo /opt/istatserverlinux/contrib/install-macos-helper.sh
```
To remove it:
```sh
sudo /opt/istatserverlinux/contrib/uninstall-macos-helper.sh
```
Building and starting iStat Server
----------------------------------
```sh
cd /path/to/istatserverlinux
./autogen
./configure
make
sudo make install
sudo /usr/local/bin/istatserver -d
```
A default passcode is generated on install. It can be found in:
```text
/usr/local/etc/istatserver/istatserver.conf
```
iStat View-compatible clients ask for this passcode the first time they connect
to the computer.
Upgrading iStat Server
----------------------
Stop the running service, rebuild, and install normally:
```sh
sudo service istatserver stop
./autogen
./configure
make
sudo make install
sudo service istatserver start
```
The installer preserves the existing configuration and SQLite history database.
Do not remove `/usr/local/etc/istatserver/istatserver.db` if you want to keep
historical graph data.
Starting with systemd
---------------------
The build can install the systemd unit directly:
```sh
./configure --enable-systemd-unit
make
sudo make install
sudo systemctl enable --now istatserver
```
You can also install the unit manually:
```sh
sudo cp ./resource/systemd/istatserver.service /etc/systemd/system/istatserver.service
sudo systemctl daemon-reload
sudo systemctl enable --now istatserver
```
Starting with upstart
---------------------
```sh
sudo cp ./resource/upstart/istatserver.conf /etc/init/istatserver.conf
sudo start istatserver
```
Starting with rc.d
------------------
```sh
sudo cp ./resource/rc.d/istatserver /etc/rc.d/istatserver
sudo /etc/rc.d/istatserver start
```