Community discussions

MikroTik App
 
santong7
Frequent Visitor
Frequent Visitor
Topic Author
Posts: 50
Joined: Tue Jun 04, 2013 1:40 pm
Location: Heraklion Crete Greece
Contact:

Cool console

Mon Dec 27, 2021 10:41 pm

What happened to the http://wiki.mikrotik.com/wiki/Cool_Console script?
It doesn't seem to work with the new 7.1 ROS version.
Any update of the script ?
 
User avatar
Jotne
Forum Guru
Forum Guru
Posts: 3291
Joined: Sat Dec 24, 2016 11:17 am
Location: Magrathean

Re: Cool console

Tue Dec 28, 2021 11:45 am

Do you have the script, page is blank?
 
santong7
Frequent Visitor
Frequent Visitor
Topic Author
Posts: 50
Joined: Tue Jun 04, 2013 1:40 pm
Location: Heraklion Crete Greece
Contact:

Re: Cool console

Tue Dec 28, 2021 12:54 pm

Do you have the script, page is blank?
yes I know that's why I am posting.
I have found this from https://mikrotik-routeros.com/2013/05/c ... al-health/

but it is not working on very recent versions of ros
:local content
:local logcontenttemp ""
:local logcontent ""
:local counter
:local v 0
 
:set logcontenttemp "You are logged into: $[/system identity get name]"
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
:set logcontenttemp "############### system health ###############"
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
:set logcontenttemp "Uptime:  $[/system resource get uptime] d:h:m:s"
:set logcontent ("$logcontent" ."$logcontenttemp" ." | ")
 
:set logcontenttemp "CPU: $[/system resource get cpu-load]%"
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
:set logcontenttemp "RAM: $(([/system resource get total-memory]-[/system resource get free-memory])/1024)/$([/system resource get total-memory]/1024)M"
:set logcontent ("$logcontent" ."$logcontenttemp" ." | ")
 
##
#voltage and temp readout not available on x86, check for this before trying
#to record otherwise script will halt unexpectedly
##
 
:if ([/system resource get architecture-name]="x86") do={
  :set logcontenttemp "Voltage: NIL"
  :set logcontent ("$logcontent" ."$logcontenttemp" ." | ")
  :set logcontenttemp "Temp: NIL"
  :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
} else={
  :set logcontenttemp "Voltage: $[:pick [/system health get voltage] 0 2] v"
  :set logcontent ("$logcontent" ."$logcontenttemp" ." | ")
  :set logcontenttemp "Temp: $[ /system health get temperature]c"
  :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
}
 
:set logcontenttemp "############# user auth details #############"
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
:foreach counter in=[/ip hotspot active find ] do={:set v ($v + 1)}
:set logcontenttemp "Hotspot online: $v |"
:set v 0
:foreach counter in=[/ppp active find ] do={:set v ($v + 1)}
:set logcontenttemp ("$logcontenttemp" . " PPP online: $v")
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
/system note set note="$logcontent"
 
User avatar
Jotne
Forum Guru
Forum Guru
Posts: 3291
Joined: Sat Dec 24, 2016 11:17 am
Location: Magrathean

Re: Cool console

Tue Dec 28, 2021 1:34 pm

The script gives a login page with info about Router health and a list of hotspot and ppp users.
Its ok for a single router management.

The way system resources are being presented are change in v7.

This shows how I collect it from RouterOS in a script to get it inn to Splunk (that I do use to monitor multiple routers)
# Collect system health
# ----------------------------------
:do {
	# New version
	:foreach id in=[/system health find] do={
		:local health "$[/system health get $id]"
		:set ( "$health"->"script" ) "health"
		:log info message="$health"
	}
} on-error={
	# Old version
	:if (!([/system health get]~"(state=disabled|^\$)")) do={
		:local health "$[/system health get]"
		:set ( "$health"->"script" ) "health"
		:log info message="$health"
	}
}
If you remove voltage and temperature, you will get a login prompt some like this:
You are logged into: Link123-Remote
############### system health ###############
Uptime:  6d05:28:48 d:h:m:s | CPU: 100%
RAM: 41484/65536M | 
############# user auth details #############
Hotspot online: 0 | PPP online: 0
PS this old router goes to 100% while running script on version 7.2rc1
 
User avatar
Jotne
Forum Guru
Forum Guru
Posts: 3291
Joined: Sat Dec 24, 2016 11:17 am
Location: Magrathean

Re: Cool console

Tue Dec 28, 2021 2:19 pm

Here is script rewritten to work with 7.x RouterOS

Output
You are logged into: Link123-Remote
############### system health ###############
Uptime:  6d06:02:27 d:h:m:s | CPU: 100%
RAM: 41504/65536M | 
Voltage: 12.2 v | Temp: 14c
############# user auth details #############
Hotspot online: 0 | PPP online: 0
Script
{

:local content
:local logcontenttemp ""
:local logcontent ""
:local counter
:local v 0
 
:set logcontenttemp "You are logged into: $[/system identity get name]"
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
:set logcontenttemp "############### system health ###############"
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
:set logcontenttemp "Uptime:  $[/system resource get uptime] d:h:m:s"
:set logcontent ("$logcontent" ."$logcontenttemp" ." | ")
 
:set logcontenttemp "CPU: $[/system resource get cpu-load]%"
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
:set logcontenttemp "RAM: $(([/system resource get total-memory]-[/system resource get free-memory])/1024)/$([/system resource get total-memory]/1024)M"
:set logcontent ("$logcontent" ."$logcontenttemp" ." | \n")
 
##
#voltage and temp readout not available on x86, check for this before trying
#to record otherwise script will halt unexpectedly
##
 
:if ([/system resource get architecture-name]="x86") do={
  :set logcontenttemp "Voltage: NIL"
  :set logcontent ("$logcontent" ."$logcontenttemp" ." | ")
  :set logcontenttemp "Temp: NIL"
  :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
} else={
  /system/health
  :set logcontenttemp "Voltage: $[get [find name=voltage] value] v"
  :set logcontent ("$logcontent" ."$logcontenttemp" ." | ")
  :set logcontenttemp "Temp: $[get [find name=temperature] value]c"
  :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
}
 
:set logcontenttemp "############# user auth details #############"
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
:foreach counter in=[/ip hotspot active find ] do={:set v ($v + 1)}
:set logcontenttemp "Hotspot online: $v |"
:set v 0
:foreach counter in=[/ppp active find ] do={:set v ($v + 1)}
:set logcontenttemp ("$logcontenttemp" . " PPP online: $v")
:set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
 
/system note set note="$logcontent"
}
PS I do not use ut, since I have to click OK every time I logg in :)

Who is online

Users browsing this forum: stefanau and 24 guests