Archive for June, 2022

Living of New Martyr Saint Onuphrius of Gabrovo, a Bulgarian saint martyred in year 1818

Friday, June 17th, 2022

sveti-Onufrij-Gabrovski-saint-Onufrius-Gabrovski

The New Martyr saint Onufrij ( Onuphrius ) (1786 – 1818) was born in Gabrovo, Veliko Tarnovo Diocese, to pious and noble parents.
(His father Decho later became a monk under the name of Daniel in the same Hilendar monastery on Mount Athos, where his son was then active).
The child Onuphrius was given the name Matthew in Holy Baptism.
When he grew up, he was sent to a one of scarce Bulgarian schools, where he studied well.
When he was 17 years old, his parents once punished him for some childish thing unrest, and out of frivolous childishness, he declared in the presence of Turks that he would accept the Muslim faith.

In such cases, the Turks immediately seized the person who gave the promise to convert to islam and performed the rite of Mohammedan circumcision on him.

To prevent this, his parents hid him and perhaps sent him to the "fotress" of Christian Orthodox FaIth and keeper of Bulgarian spirit, the Troyan Monastery "Holy Mother of God".
In Troyan Monastery, to this day there is a the mouth to mouth legend that the Venerable Martyr Onuphrius began his monastic feat and received his first monastic haircut here with the name Manasseah (Manasij).

sveti-Onufrij-Gabrovski-Bylgarski-svetec

He ascended diligently in spiritual life, but the voice of his conscience began to rebuke him more and more for his public denial of Christianity, even if only in words.
Probably because of this he went to Holy Mount Athos, hoping that there, under the guidance of more experienced elders, he would repent enough and calm his conscience.
Manasseah spent some time in the Hilendar Monastery (a monastery that at this time has been inhibited with many Bulgarian monks), where he was ordained a deacon.

But, as the holy fathers of the Church say, the more a Christian grows in virtue, the deeper he humbles himself and his small sins seem great., same happened with Hierodeacon Manasseah.

He was always impressed by the words of the Savior Christ:

"Whosoever shall confess me before men, him will I confess also before my Father which is in heaven; but whosoever denieth me before men, him will I also deny before my Father which is in heaven." (Matt. 10: 32-33).

And from the lives of the saints he was especially deeply moved by the example of the holy martyr Barlaam, who held his hand without trembling over the burning pagan altar until his hand burned completely, but did not drop incense on the altar, to protect the occusation that he has offered incense to the idols.
His heart was inflamed with jealousy when the Venerable Euthymius, Ignatius and Acacius (Agathius), performed their martyrdom.
Then Manasseah secretly left Hilendar and went to the Forerunner's Hermitage to the local clergyman (elder) Nicephorus with a request to prepare him for such a martyrdom.

For four months he worked hard on enormous spiritual and bodly feats under the guidance of this elder.
Every day Manasseh made four thousand bows; his prayer was unceasing; his remorseful mood brought tears to his eyes.

During these four months of preparation he ate two and a half kilograms of dried grapes, and in the strictest forty-day fast he ate 30 grams of bread every two or three days and drank water in moderation.
After Elder Nicephorus thus prepared him for the impending martyrdom, he cut his hair in a great scheme receiving the great-schema name of Onufrij ( Onuphrius ) and sent him to the island of Chios with the same companion, Elder Gregory, whom he sent with the other martyrs анд вхере тхеир feat would take place there.

On Island Chios Saint Onuphrius lived one Sunday in fasting and prayer, while on Friday, the day of Christ's suffering, he appeared in Turkish robes before the local turkish judge, openly blasphemed Muhammad and threw the green turban on his head.

holy-new-martyr-Onufrius-Onufrij-of-Gabrovo

He was exhorted, thrown into prison, tortured, and sentenced to death the same day.
On January 4, 1818, his head was cut off on the seashore and along with his blood his body was thrown into the sea, so that Christians could not take for granted his holiness any particle veneration of the Venerable Martyr.

Before his death, some asked him about his name and homeland.
The Venerable Martyr replied that his name was Matthew and that he was from Veliko Tarnovo.
In this way he wanted to save the Holy Mount Athos and his monastery from troubles by the Turks.
Soon after his martyrdom, the Greeks from Mount Athos, soon canonized him and compiled a (living) biography and a service in his honor.

Text Translated from:

© Lives of the Saints. Synodal Publishing House of Bulgarian Orthodox Church, Sofia, 1991, edited by Parthenius, Bishop of Lefkada and Archimandrite Dr. Athanasius (Bonchev).

Zabbix: Monitor Linux rsyslog configured central log server is rechable with check_log_server_status.sh userparameter script

Wednesday, June 8th, 2022

zabbix-monitor-central-log-server-is-reachable-from-host-with-a-userparamater-script-zabbix-logo

On modern Linux OS servers on Redhat / CentOS / Fedora and Debian based distros log server service is usually running on the system  such as rsyslog (rsyslogd) to make sure the logging from services is properly logged in separate logs under /var/log.

A very common practice on critical server machines in terms of data security, where logs produced by rsyslog daermon needs to be copied over network via TCP or UDP protocol immediately is to copy over the /var/log produced logs to another configured central logging server. Then later every piece of bit generated by rsyslogd could be  overseen by a third party auditor person and useful for any investigation in case of logs integrity is required or at worse case if there is a suspicion that system in question is hacked by a malicious hax0r and logs have been "cleaned" up from any traces leading to the intruder (things usually done locally by hackers) or by any automated script exploit tools since yesr.

This doubled logging of system events to external log server  ipmentioned is very common practice by companies to protect their log data and quite useful for logs to be recovered easily later on from the central logging server machine that could be also setup for example to use rsyslogd to receive logs from other Linux machines in circumstances where some log disappears just like that (things i've seen happen) for any strange reason or gets destroyed by the admins mistake locally on machine / or by any other mean such as filesystem gets damaged. a very common practice by companies to protect their log data.  

Monitor remote logging server is reachable with userparameter script

Assuming that you already have setup a logging from the server hostname A towards the Central logging server log storepool and everything works as expected the next logical step is to have at least some basic way to monitor remote logging server configured is still reachable all the time and respectively rsyslog /var/log/*.* logs gets properly produced on remote side for example with something like a simple TCP remote server port check and reported in case of troubles in zabbix.

To solve that simple task for company where I'm employed, I've developed below check_log_server_status.sh:
 

#!/bin/bash
# @@ for TCP @ for UDP
# check_log_server_status.sh Script to check if configured TCP / UDP logging server in /etc/rsyslog.conf is rechable
# report to zabbix
DELIMITER='@@';
GREP_PORT='5145';
CONNECT_TIMEOUT=5;

PORT=$(grep -Ei "*.* $DELIMITER.*:$GREP_PORT" /etc/rsyslog.conf|awk -F : '{ print $2 }'|sort -rn |uniq);

#for i in $(grep -Ei "*.* $DELIMITER.*:$GREP_PORT" /etc/rsyslog.conf |grep -v '\#'|awk -F"$DELIMITER" '{ print $2 }' | awk -F ':' '{ print $1 }'|sort -rn); do
HOST=$(grep -Ei "*.* $DELIMITER.*:$GREP_PORT" /etc/rsyslog.conf |grep -v '\#'|awk -F"$DELIMITER" '{ print $2 }' | awk -F ':' '{ print $1 }'|sort -rn)

# echo $PORT

if [[ ! -z $PORT ]] && [[ ! -z $HOST ]]; then
SSH_RETURN=$(/bin/ssh $HOST -p $PORT -o ConnectTimeout=$CONNECT_TIMEOUT 2>&1);
else
echo "PROBLEM Port $GREP_PORT not defined in /etc/rsyslog.conf";
fi

##echo SSH_RETURN $SSH_RETURN;
#exit 1;
if [[ $(echo $SSH_RETURN |grep -i ‘Connection timed out during banner exchange’ | wc -l) -eq ‘1’ ]]; then
echo "rsyslogd $HOST:$PORT OK";
fi

if [[ $(echo $SSH_RETURN |grep -i ‘Connection refused’ | wc -l) -eq ‘1’ ]]; then
echo "rsyslogd $HOST:$PORT PROBLEM";
fi

#sleep 2;
#done


You can download a copy of the script check_log_server_status.sh here

Depending on the port the remote rsyslogd central logging server is using configure it in the script with respective port through the DELIMITER='@@', GREP_PORT='5145', CONNECT_TIMEOUT=5 values.

The delimiter is setup as usually in /etc/rsyslog.conf this the remote logging server for TCP IP is configured with @@ prefix to indicated TCP mode should be used.

Below is example from /etc/rsyslog.conf of how the rsyslogd server is configured:

[root@Server-hostA /root]# grep -i @@ /etc/rsyslogd.conf
# central remote Log server IP / port
*.* @@10.10.10.1:5145

To use the script on a machine, where you have a properly configured zabbix-agentd service host connected and reporting data to a zabbix-server monitoring server.

1. Set up the script under /usr/local/bin/check_log_server_status.sh

[root@Server-hostA /root ]# vim /usr/local/bin/check_log_server_status.sh

[root@Server-hostA /root ]# chmod +x /usr/local/bin/check_log_server_status.sh

2. Prepare userparameter_check_log_server.conf with log_server.check Item key

[root@Server-hostA zabbix_agentd.d]# cat userparameter_check_log_server.conf 
UserParameter=log_server.check, /usr/local/bin/check_log_server_status.sh

3. Set in Zabbix some Item such as on below screenshot

 

check-log-server-status-screenshot-linux-item-zabbix.png4. Create a Zabbix trigger 

check-log-server-status-trigger-logserver-is-unreachable-zabbix


The redded hided field in Expression field should be substituted with your actual hostname on which the monitor script will run.