bjango / istatserverlinux Goto Github PK
View Code? Open in Web Editor NEWA system monitoring daemon that sends stats to Send stats to iStat View for iOS and iStat View for macOS.
Home Page: https://bjango.com/istatserver/
License: Other
A system monitoring daemon that sends stats to Send stats to iStat View for iOS and iStat View for macOS.
Home Page: https://bjango.com/istatserver/
License: Other
The cpu graphing is accurate.. but say plex transcoder is running at 100%..... it doesnt show the plex transcoder in the running processes even though its taking 100% resources
Working fine on my OSX, and omnios installs, just seems like linux...
Hello Bjango Team,
is there a way to put more Filter variables into the istatserver.conf?
Especially for Sensors and Network Devices?
thx
On a mostly fresh install of Ubuntu 16.04.2 the server compiled and installed with no errors, but when started, it throws the following SSL error:
error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:701:Expecting: CERTIFICATE
error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib:ssl_rsa.c:484:
and here are the errors on attempted connection:
Error starting SSL: error:00000001:lib(0):func(0):reason(1)
Error starting SSL - error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher
Disconnected.
When installing istatserver, the permissions on /usr/local/etc/istatserver are 0755. Since /usr/local/etc/istatserver/istatserver.conf is also 0755, this means anyone with shell access to the server can read the conf file and pair iStat 3 to that server. This does not seem desirable.
Since the istatserver directory is already owned by istat:istat, it would be best to make sure the installer changes the permissions on /usr/local/etc/istatserver to 0750.
Is it possible to start (or build the binary without Avahi)?
I'm not looking at enabling zeroconf support as this just leads me to having duplicate listings within iStat View to my manual configuration. Unfortunately, I cannot simply remove the dependency packages as other software on the server requires Avahi.
Is there a command line to essentially make without?
OS: OpenBSD 6.4
Compile error occurred.
depbase=`echo ./Daemon.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; if c++ -DHAVE_CONFIG_H -I. -I. -I.. -Wall -I /usr/local/include -I/usr/local/include/libxml2 -I/usr/local/include -g -O2 -MT ./Daemon.o -MD -MP -MF "$depbase.Tpo" -c -o ./Daemon.o ./Daemon.cpp; then mv -f "$depbase.Tpo" "$depbase.Po"; else rm -f "$depbase.Tpo"; exit 1; fi
./Daemon.cpp:177:60: error: invalid operands to binary expression ('__bind<int &, sockaddr *,
unsigned int &>' and 'int')
if (bind(unix_socket, (struct sockaddr *) &local, length) == -1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~
/usr/include/c++/v1/system_error:577:1: note: candidate function not viable: no known conversion
from '__bind<int &, sockaddr *, unsigned int &>' to 'const std::__1::error_code' for 1st
argument
operator==(const error_code& __x, const error_code& __y) _NOEXCEPT
^
/usr/include/c++/v1/system_error:584:1: note: candidate function not viable: no known conversion
from '__bind<int &, sockaddr *, unsigned int &>' to 'const std::__1::error_code' for 1st
argument
operator==(const error_code& __x, const error_condition& __y) _NOEXCEPT
^
/usr/include/c++/v1/system_error:592:1: note: candidate function not viable: no known conversion
from '__bind<int &, sockaddr *, unsigned int &>' to 'const std::__1::error_condition' for 1st
argument
operator==(const error_condition& __x, const error_code& __y) _NOEXCEPT
^
/usr/include/c++/v1/system_error:599:1: note: candidate function not viable: no known conversion
from '__bind<int &, sockaddr *, unsigned int &>' to 'const std::__1::error_condition' for 1st
argument
operator==(const error_condition& __x, const error_condition& __y) _NOEXCEPT
^
/usr/include/c++/v1/utility:556:1: note: candidate template ignored: could not match 'pair' against
'__bind'
operator==(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y)
^
/usr/include/c++/v1/iterator:694:1: note: candidate template ignored: could not match
'reverse_iterator' against '__bind'
operator==(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y)
^
/usr/include/c++/v1/iterator:923:1: note: candidate template ignored: could not match
'istream_iterator' against '__bind'
operator==(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
^
/usr/include/c++/v1/iterator:1027:6: note: candidate template ignored: could not match
'istreambuf_iterator' against '__bind'
bool operator==(const istreambuf_iterator<_CharT,_Traits>& __a,
^
/usr/include/c++/v1/iterator:1135:1: note: candidate template ignored: could not match
'move_iterator' against '__bind'
operator==(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y)
^
/usr/include/c++/v1/iterator:1430:5: note: candidate template ignored: could not match '__wrap_iter'
against '__bind'
operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
^
/usr/include/c++/v1/tuple:1144:1: note: candidate template ignored: could not match 'tuple' against
'__bind'
operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y)
^
/usr/include/c++/v1/memory:1961:6: note: candidate template ignored: could not match 'allocator'
against '__bind'
bool operator==(const allocator<_Tp>&, const allocator<_Up>&) _NOEXCEPT {return true;}
^
/usr/include/c++/v1/memory:2910:1: note: candidate template ignored: could not match 'unique_ptr'
against '__bind'
operator==(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) {return __x.get...
^
/usr/include/c++/v1/memory:2946:1: note: candidate template ignored: could not match 'unique_ptr'
against '__bind'
operator==(const unique_ptr<_T1, _D1>& __x, nullptr_t) _NOEXCEPT
^
/usr/include/c++/v1/memory:2954:1: note: candidate template ignored: could not match
'unique_ptr<type-parameter-0-0, type-parameter-0-1>' against 'int'
operator==(nullptr_t, const unique_ptr<_T1, _D1>& __x) _NOEXCEPT
^
/usr/include/c++/v1/memory:4742:1: note: candidate template ignored: could not match 'shared_ptr'
against '__bind'
operator==(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) _NOEXCEPT
^
/usr/include/c++/v1/memory:4791:1: note: candidate template ignored: could not match 'shared_ptr'
against '__bind'
operator==(const shared_ptr<_Tp>& __x, nullptr_t) _NOEXCEPT
^
/usr/include/c++/v1/memory:4799:1: note: candidate template ignored: could not match
'shared_ptr<type-parameter-0-0>' against 'int'
operator==(nullptr_t, const shared_ptr<_Tp>& __x) _NOEXCEPT
^
/usr/include/c++/v1/string_view:611:6: note: candidate template ignored: could not match
'basic_string_view' against '__bind'
bool operator==(basic_string_view<_CharT, _Traits> __lhs,
^
/usr/include/c++/v1/string_view:620:6: note: candidate template ignored: could not match
'basic_string_view' against '__bind'
bool operator==(basic_string_view<_CharT, _Traits> __lhs,
^
/usr/include/c++/v1/string_view:629:6: note: candidate template ignored: could not match
'basic_string_view<type-parameter-0-0, type-parameter-0-1>' against 'int'
bool operator==(typename common_type<basic_string_view<_CharT, _Traits> >::type __lhs,
^
/usr/include/c++/v1/string:535:6: note: candidate template ignored: could not match 'fpos' against
'__bind'
bool operator==(const fpos<_StateT>& __x, const fpos<_StateT>& __y)
^
/usr/include/c++/v1/string:3564:1: note: candidate template ignored: could not match 'basic_string'
against '__bind'
operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
^
/usr/include/c++/v1/string:3576:1: note: candidate template ignored: could not match 'basic_string'
against '__bind'
operator==(const basic_string<char, char_traits<char>, _Allocator>& __lhs,
^
/usr/include/c++/v1/string:3595:1: note: candidate template ignored: could not match
'const _CharT *' against '__bind<int &, sockaddr *, unsigned int &>'
operator==(const _CharT* __lhs,
^
/usr/include/c++/v1/string:3608:1: note: candidate template ignored: could not match 'basic_string'
against '__bind'
operator==(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
^
/usr/include/c++/v1/functional:1955:1: note: candidate template ignored: could not match 'function'
against '__bind'
operator==(const function<_Rp(_ArgTypes...)>& __f, nullptr_t) _NOEXCEPT {return !__f;}
^
/usr/include/c++/v1/functional:1960:1: note: candidate template ignored: could not match
'function<type-parameter-0-0 (type-parameter-0-1...)>' against 'int'
operator==(nullptr_t, const function<_Rp(_ArgTypes...)>& __f) _NOEXCEPT {return !__f;}
^
/usr/include/c++/v1/vector:3309:1: note: candidate template ignored: could not match 'vector'
against '__bind'
operator==(const vector<_Tp, _Allocator>& __x, const vector<_Tp, _Allocator>& __y)
^
/usr/include/c++/v1/deque:2851:1: note: candidate template ignored: could not match 'deque' against
'__bind'
operator==(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y)
^
/usr/include/c++/v1/map:1398:1: note: candidate template ignored: could not match 'map' against
'__bind'
operator==(const map<_Key, _Tp, _Compare, _Allocator>& __x,
^
/usr/include/c++/v1/map:1863:1: note: candidate template ignored: could not match 'multimap' against
'__bind'
operator==(const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
^
/usr/include/c++/v1/list:2363:1: note: candidate template ignored: could not match 'list' against
'__bind'
operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
^
1 error generated.
*** Error 1 in src (Makefile:382 './Daemon.o')
*** Error 1 in src (Makefile:425 'all-recursive')
*** Error 1 in . (Makefile:260 'all-recursive')
*** Error 1 in /home/mzch/istatserverlinux (Makefile:176 'all')
Similar to Glasswire on windows, or Sysdig Cloud for linux.
Would be very nice for iStat to show which processes are using the bandwidth, is this currently possible?
Thanks!
Do you plan to release a package for Synology DSM 6? Or at least a tutorial?
When I installed this program onto my server I noticed that I was not getting any network traffic. It was picking up a "docker0" interface, but it was ignoring the standard ethernet interface. I have another server with this program installed and it works fine, using the same software. Did some snooping and found that the server that works has an interface name "eth0" and the server that doesn't work has the interface name "enp1s0f0". After some snooping in your source code I found that a line in your source code uses fscanf to get the interface name out of the proc file, but it trims the name to 7 characters which causes the interface to be ignored. My interface has 8 characters. I updated the source code on my end and everything works now, just by changing the 7 to an 8.
istatserverlinux/src/stats/StatsNetwork.cpp
Line 145 in 40411ad
Regarding compile-time issues
“configure: error: xml2-config was located, but a test program linking against -lxml2 could not be built”
I am trying to compile on openwrt X64。
Is there any solution? thank
I want to test iStat Server for Linux, but it needs iStat View and I read on https://bjango.com it is no longer available for sale? Also seems nowhere to be downloaded...
What am I missing here?
Hi,
I tried to run istatserver on OpenBSD 6.2 RELEASE, however, it fails to start with Segmentation Fault.
-- gdb becktrace
(gdb) r
Starting program: /usr/local/bin/istatserver
Opened database
Database valid
Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 506829]
kvm_getprocs (kd=0x8, op=The value of variable 'op' is distributed across several
locations, and GDB cannot access its value.
) at /usr/src/lib/libkvm/kvm_proc2.c:393
393 /usr/src/lib/libkvm/kvm_proc2.c: No such file or directory.
in /usr/src/lib/libkvm/kvm_proc2.c
(gdb) bt
0 kvm_getprocs (kd=0x8, op=The value of variable 'op' is distributed across several
locations, and GDB cannot access its value.
) at /usr/src/lib/libkvm/kvm_proc2.c:393
1 0x00000d1620e4c165 in StatsProcesses::update (this=0x7f7ffffd81b0, sampleID=Variable "sampleID" is not available.
) at ./stats/StatsProcesses.cpp:217
2 0x00000d1620e2897a in Stats::startStats (this=0x7f7ffffd6858) at Stats.cpp:231
3 0x00000d1620e27e59 in start_stats_thread (a=Variable "a" is not available.
) at Stats.cpp:55
4 0x00000d1876f6dcae in _rthread_start (v=Variable "v" is not available.
) at /usr/src/lib/librthread/rthread.c:96
5 0x00000d18eae8e6cb in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75
6 0x0000000000000000 in ?? ()
istatserver v3.03
OS: DietPi v6.19.7
avahi is working, as I can SSH in with .local address.
Can't seem to find what's wrong.
Thanks!
Can you setup alerts/push notifications , for example if the CPU>80%?
Any way to install this on a vmware esxi host for monitoring?
I know that esxi is a HEAVILY modified linux and that it installs off a usb stick and runs in memory ... so i would image it would need a custom installer to survive in esxi
Any thoughts ?
First i want to thank you for all your apps! Love them and use them everyday!
I was thinking as i run a DNScrypt server i would like for users to see the info from the server like i do within iStat view. If i could mirror the info from iStat View to a website page would be awesome.
What is the app url for iStat View 3 (iOS), if I want another app to open iStat directly?
I still use this app and is great! I have an M1 Mini and a Pi4 that needs the server package. Is there a package for them? Any plans on making them? Thanks
On Debian 9 (Stretch) configure script failed because Stretch doesn't support tlsv1. see below:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for ranlib... ranlib
checking for c++... c++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking for style of include used by make... none
checking dependency style of c++... none
checking for cc... cc
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking whether cc understands -c and -o together... yes
checking dependency style of cc... none
checking for ar... ar
checking if the compiler supports -Wall... yes
checking if the linker supports -rdynamic... yes
checking for inet_ntoa in -lnsl... yes
checking for socket in -lsocket... no
checking for xml2-config... xml2-config
checking how to run the C preprocessor... cc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking libxml/parser.h usability... yes
checking libxml/parser.h presence... yes
checking for libxml/parser.h... yes
checking for xmlFileOpen... yes
checking openssl/x509.h usability... yes
checking openssl/x509.h presence... yes
checking for openssl/x509.h... yes
checking openssl/pem.h usability... yes
checking openssl/pem.h presence... yes
checking for openssl/pem.h... yes
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking openssl/evp.h usability... yes
checking openssl/evp.h presence... yes
checking for openssl/evp.h... yes
checking openssl/err.h usability... yes
checking openssl/err.h presence... yes
checking for openssl/err.h... yes
checking for SSL_library_init in -lssl... no
configure: error: openssl/crypto not found or does not support tlsv1. you may need to update openssl or install openssl-dev/libssl-dev or a similar package
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.