Osama Mustafa has progressive experience in Oracle Products, community. He recently served as Oracle Database Administrator.
Provide Database Implementation Solutions, High Availability Solution, Infrastructure and Storage Planning, Install, Configure, Implement and manage Oracle E-Business Suite environments. Architect, build and support highly-available Oracle EBS, Database and Fusion Middleware environments including appropriate reporting, Installs, configures, upgrades, tunes, and maintains production, development and test databases.
Ambari is an open-source administration tool deployed on top of Hadoop clusters, and it is responsible for keeping track of the running applications and their status. Apache Ambari can be referred to as a web-based management tool that manages, monitors, and provisions the health of Hadoop clusters.
With Ambari, Hadoop operators get the following core benefits:
Simplified Installation, Configuration and Management.
Centralized Security Setup.
Full Visibility into Cluster Health.
Highly Extensible and Customizable.
For more information about Ambari, review the documentation here.
The Below picture shows how the ambari architecture: –
The Ambari Installation is pretty simple, the below section will discuss the installation steps
Installation of Apache Ambari is very easy. SSH to your server and become root, add Ambari repository file to /etc/apt/sources.list.d :
The above checking should give you the following result :-
Now we will install the Ambari server which will also install the above said default PostgreSQL Ambari database :
apt-get install ambari-server
Next part is running the command to set up the Ambari Server :
The above command will start configure Ambari to connect the database, the default database is PostgreSQL, then install JDK, and the Ambrai daemon, then the account, you could choose advance setting for database in case you want to change the database type, ambari gives you different options such as Oracle, MySQL, Microsoft and DB2, the default database username and password is
You can start the Ambari server by running the following command :-
To start the Ambari server: service ambari-server start
To stop the Ambari server: service ambari-server stop
restart the Ambari server: service ambari-server restart
To check the Ambari server processes: ps -ef | grep Ambari.
There are different problems category in zabbix which is like the below:-
I will focus in this post on Information and Not Classified Issues.
These two Problem category to inform users about some change in the operating system for example, such as Updating the operating system, or You have CPU utilization, this is not the issue, the problem with these two category they never disappeared from Zabbix Dashboard, and to be honest for me it’s annoying 😅
Therefore, i was trying to find a way to hide these issues, i don’t want to disabled the trigger because in that case it will never appeared and this is not the goal for me,I just want them to be on Dashboard for certain amount of time.
I found two ways for that after investigation, the one will be done from Database level, for example MySQL in my case, the other one via Zabbix Dashboard ( Trigger part) this is the right one and what i want.
To fix this issue from the database , you have to follow the below : –
You should have access to MySQL
Use Zabbix Database
Knowledge of database and Zabbix table, you don’t want to corrupt the database.
there are different tables we need to deal with
You have to know, inside trigger table value column contains two number which 0 (you don’t have any error) and 1 (you have problem)
select * from triggers where description like '%Operating%' and value = 1;
update triggers set value = 0 where description like '%Operating%' and value = 1;
The above Select search for trigger called Operating system and the trigger should have issue, then update this trigger to 0 to assign this issue to ok.
This method i preferred but i had to mentioned the previous one so in case someone wants to use it, in this one you don’t have to access to the database at all.
From The upper panel –> Choose configuration –> Host –> search for your host –> Press on Trigger –> Search for the trigger.
Once you press on the trigger you want, it will show couple of Options , we will care only about “problem expression”
From problem expression press add button and choose the item that related to this trigger.
There is Function inside the zabbix ( Built-in) called nodata takes second as parameter, you can put the item and choose the function then set the time for 10 sec same as the below picture.
Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and deploy it as one package. By doing so, thanks to the container, the developer can rest assured that the application will run on any other Linux machine regardless of any customized settings that machine might have that could differ from the machine used for writing and testing the code.
Why Docker ?
Docker Installation on ubuntu 18.04.3 LTS
In this post, i will show you step by step to install docker on Ubuntu operating system, i prefer to create account on docker hub here.
update the existing list of packages using
sudo apt update
Step #2 :
install prerequisite packages which will let apt use packages over HTTPS
Zabbix is Open Source software used for monitoring the application, Server and networking, and cloud services, zabbix provide metrics, such as network utilization, CPU and disk space .. etc.
In this post i will try to mention everything for Zabbix installation and configuration, include to this some of the issues that you will face during the installation with screenshots, the idea of this post to help people and allow them to understand and simplify the installation/configuration.
You can Refer always to Zabbix documentation which include different versions, remember this post is for Zabbix 4.4.2 and maybe will work on other versions, but never tested before. The documentation HERE.
You can Download Zabbix From HERE, Depends on your operating system and version, Zabbix supporting two different databases during the installation which is MySQL & PostgreSQL.
Once the installation is done, you have to update the timezone for PHP, you can do this by edit the file
Search for the line include word “Date”, remember when you edit the file you will find “;” at start of the line, in php this is comment , so you have to remove and update the timezone, the List of Supported Timezones in php HERE, once you find yours edit the file.
I also attached pictures to show you how the file will look like
Step #2: Before Install Zabbix Server
before install Zabbix server, there are one required step should be done first which is enable the zabbix repository, the download Link (HERE)that mentioned above gave you the steps , again you can find the link here and choose which Operating system Zabbix will be installed on
From the above, once you choose everything, scroll down to find the repository.
Now all the necessary packages has been installed on the operating system, the configuration start from the base which is the database.
Step #4: Create Zabbix Database Schema
Login to MySQL by the below commands to create the database and user.
mysql -uroot -p
Enter the password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Now we have to import the data into the schema we just create, to do this we should run the below command, notice these steps should be done in order otherwise an issue will be appeared, You will be prompted to enter your newly created password.
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix
Step #5: Configure Zabbix file to access the database.
Edit the following file
Search for the following Lines using your favorite editor either vi, vim , nano .. etc
Before doing this, which is access to above Link, i faced an issue, which is i was 100% everything is Ok, but everytime i access the link, HTTP response code with 404 NOT FOUND, i was searching about this, and the solution was like the following
Step #7: complete the configuration via Zabbix Web Installer.
Zabbix Setup Welcome Screen
Check for pre-requisites
to solve the above you have to fix the value from one file which is
and search for the option, for example, post_max_size the current value is 8M just change to 16M and So on, remember after you change the value you have to restart the Apache to take the effect and then check the pre-requisites again.
Configure DB Connection
Enter database details created in Step #4 and click next to continue.
Zabbix Server Details
This is the host and port of running Zabbix server, Don’t change the values of the port and host, no need to do that, since it’s running on the same server, for the Name, you can give name for the instance.
Recently i was working on automation project for Zabbix, The idea of the project is automate the template change on multiple sites instead of doing this manually, these scripts will do the import for you, and you can import more than one template With format XML into the Zabbix server, the export script will be uploaded soon.
This week, i was working on Automation Project related to Zabbix, which is fix the issues automatically without human interaction, so in case for example; the file system alert reach 85% it will be delete specific folder and send an email to system administrator.
or for example the Cache has been filled and you need to clear, so need for example for someone to access the server and take an action to do this.
I wrote scripts where it’s integrate it with Zabbix and once the threshold will fire, the scripts will run automatically.
This github repository will be updated since the project is not complete yet, still has to do a lot of scripting and integration but i would like to share it with you guys.
In this post i will discuss how to install Boto3 module on Python, I am using Python 3.6, What is Boto3 ?!
Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, which allows Python developers to write software that makes use of services like Amazon S3 and Amazon EC2. You can find the latest, most up to date, documentation at our doc site, including a list of services that are supported.
The Module is very big and covering all AWS features, you can intergrate the code and start dealing with S3 for exampel from Download/Upload, Create Bucket , Delete and more; the documentation is here
To install Boto3, you should follow the below steps
yum install python3-pip
Once you run the above command, Pip will be installed on local machine which is a package manager for Python packages, or modules if you like.
pip3 install boto3 --user
I prefer this method more than Option #1 because it’s run by python itself
python3 -m pip install --user boto3
Now you installed Boto3 on your machine, you can start using it by
We all know Amazon AWS, one of the AWS Features called s3, refer to Simple Storage Service which is is a service offered by Amazon Web Services that provides object storage through a web service interface.
Amazon Provide different ways to deal with s3, either by console or by AWSCLI, But In this post i choose to work with s3 in different way, as most of you know, i love python because it’s very simple, not complicated and cross-platform programming language.
You can deal and manage s3 using python by module called boto3, in previous version it was called boto (without 3), you have to install this module to allow python import the library, very simple step
pip3 install boto3
or by the project Interpreter that you are using, in my case i am using PyCharm Community, Nice to deal with, you can install any module by doing the following
File --> Setting --> Project interpreter --> Press on + sign --> and search for the module you want to install
I uploaded the scripts to my Github like usual here, the repository includes two different file
Upload to S3
Download from s3
It’s very simple scripts, but you have to update the following to ensure access to AWS S3