How To Install Nagios Core on CentOS, Fedora, or RHEL Server

Nagios® Core™ is the industry standard Open Source system and network monitoring application which enables organizations to identify, resolve IT infrastructure problems before they affect critical business processes. It watches hosts and services that you specify, alerting you when things go bad and when they get better. Nagios Core serves as one of the foundation blocks of Nagios XI – commercial monitoring solution.

It was originally designed to run under Linux, although it should work under most other unices as well.

Steps to install :

STEP-1:

Install prerequisites packages

       #   yum  install  gd  gd-devel  httpd  php  gcc  glibc  glibc-common

STEP-2:

Disable selinux. open the file: /etc/selinux/config by issuing the following command          

       # vi /etc/selinux/config

Then, type “disable” opposite to “SELINUX” e.g  SELINUX= disable

STEP-3:

Create a user “nagios” and set password for it by typing the below commands.

       #   /usr/sbin/useradd -m nagios
       #   passwd nagios

STEP-4:

Create a new group “nagios” for allowing external commands to be submitted    through the web interface and add both the nagios user and the apache user to the group by following the below steps

       #    /usr/sbin/groupadd nagios
       #    /usr/sbin/usermod -a -G nagios nagios
       #    /usr/sbin/usermod -a -G nagios apache

STEP-5:

Create a directory “download “ and download nagios-core and plugins to it.

       #  mkdir download                  
       #  cd  download
       #  wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.4.tar.gz
       #  wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz

STEP-6:

Compile and Install nagios-core package by following below steps

  • Change directory to “download” folder
       #   cd ~/download
  • Untar the nagios-core tar bal
       #   tar xzf nagios-3.4.4.tar.gz
  • Change the directory to “nagios-3.4.4”
       # cd nagios-3.4.4
  • Configure the package and install
    #  ./configure
    #   make all
    #   make install
    #   make install-init
    #   make install-commandmode
    #   make install-config
    #   make install-webconf

STEP-7:

Create a password to log in to the web interface by issuing the following command.

       # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

STEP-8: 

Start the service and set it on chkconfig to start at booting time.

       #  service nagios start
       #  chkconfig nagios on

STEP-9:  

Compile and Install nagios-plugin package by following below steps.

  • Change directory to “download” folder
       # cd   ~/download
  • Untar nagios-plugin tar ball
       # tar xzf  nagios-plugins-1.4.16.tar.gz
  • Change the directory to “nagios-plugins-1.4.16”
       # cd  nagios-plugins-1.4.16
  • Configure the package and install.
       # ./configure
       # make
       # make install

STEP-10:

Start the apache service and enable it on boot by issuing following command.

       # service httpd start
       # chkconfig httpd on

STEP-11:  Now, connect to your nagios server through browser by typing.

       # http://Your-Nagios-IP/nagios or  http://localhost/nagios

Then, enter login credentials.
Username: nagiosadmin & password you have chosen earlier

Features of NAGIOS Core

  • Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.)
  • Monitoring of host resources (processor load, disk usage, etc.)
  • Simple plugin design that allows users to easily develop their own service checks
  • Parallelized service checks
  • Ability to define network host hierarchy using “parent” hosts, allowing detection of and distinction between hosts that are down and those that are unreachable
  • Contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method)
  • Ability to define event handlers to be run during service or host events for proactive problem resolution
  • Automatic log file rotation
  • Support for implementing redundant monitoring hosts
  • Optional web interface for viewing current network status, notification and problem history, log file, etc.

Recommended Blog: How to install and configure Jaspersoft in Linux Server(RHEL/Centos/Fedora)

I hope you liked this topic, if you have any questions or comments please feel free to put under comments!

How Business Intelligence Can Help Direct Sale Organization

As of now, Big-data has already created a lot of buzz across all industries. An organization has to handle various types of data like financial, personnel, accounting, sales and lots more.

These lists are endless. To discover information that could help in the better decision making process or to identify new business opportunities from those endless sets of data, is one of the biggest challenges for an organization.

This challenge becomes more enormous for direct sales organisations.

In today’s Business intelligence dashboards, the end users of every sector follow an effective method of gaining greater insights into their business without the need to go back to the IT or business analysts to get more data.

Never miss an update from us. Join 10,000+ marketers and leaders.

And those types of data information, business intelligence and knowledge in the hands of the sales and marketing team means growth for those departments.

What Is Business Intelligence?

Business Intelligence is the combination of various technologies, tools, applications and best practices that helps a business to integrate, collect, analyse and present raw data to an actionable and insightful business data.

Business intelligence is prepared with:

  • Data Mining
  • Querying and reporting
  • Analytical processing

The major challenges for the direct dales companies :

  • The business hierarchies need to be on top across all the brands.
  • Taking longer to answer to critical business questions.
  • Lot of person-hours wasted for preparing daily transaction report.
  • Difficult to maintain the inventory for which the customers do not getting the right product in right time.
  • Lack in customer satisfaction without good services.
  • Preparation of the business report for board meeting.
  •  A single application could reduce technical support but impact planning flexibility thereby possibly reducing the performance and reliability.
  • Individual multiple applications could provide the flexibility required by the individual brands but would increase development time, cost and continuous technical support.
  • As per the need, a combined corporate view of actual, budgets and forecast scenarios must be taken care of.
  • Reporting requirements to be based on each brand, zone, categories and time.
  • Collect source files from the third party vendor.
  • Send the report through mail & put into the drop-box.
  • To build the excel report using ‘n’ number of sheets with separate dynamic report headers.
  • Organizations who are struggling with such immense data, Business Intelligence(BI)  is the right option for them. BI can help to identify new opportunities from those massive unstructured information; whose may  be remain unnoticed.

“People will forget what you said, people will forget what you did, but people will never forget how you made them feel” – Maya Angelou– Salesmate.

At Andolasoft we provide following supports to our clients.

  • The data-warehouse solution has been implemented in MYSQL 5.1, and incorporates data  from one principal source such as, Daily’s sales/order information.
    MYSQL 5.1 provides extreme performance for large data warehouses, improves  data warehouse performance, availability, and manageability by partitioning large tables.
  • Pentaho(Kettle) used as an Extract, Transform & Load (ETL) tool for loading data into the data warehouse from different data sources: Data consolidated from various data sources such as Flat files(csv, xls, txt) & OLTP databases.
  • The data in the warehouse is being processed for reporting and analysis purposes. The data is accessed through Excel. Data can be captured by stylist, item, store, zone, accounting year, quarter and period, and brand and concept.

Business-Intelligence-2-300x189

Reports:

  • Pentaho, Excel & CSV Add-ons were used for the purpose of reporting and analysis.
  • Reports could be generated for a specific stylist aggregation, i.e. zone, company, concept, brand, for a sequence day, week, quarter, or year.
  • Reports could be generated for a specific time to know the information about the booked item.
  • Reports could be generated to know the revenue income of the organization & compare with current MTD to Last MTD, like that current QTD & Last QTD.

Technologies That We Used:

  • MYSQL 5.1
  • Pentaho (Kettle)
  • Pentaho (Mondrian) as an OLAP
  • Excel & CSV Add-ons

Overall Benefits:

  • Data Warehouse designed for analysis, pattern search and reporting has been created.

How-Business-Intelligence-helps

  • Help to develop and deliver better forecasting: Answer ‘what if’ questions with a click of a button. Forecasting and planning can be conducted by taking existing data sets, applying theoretical projections and estimations to that information, to model and predict future outcomes.
  • Eliminate guesswork: Business intelligence can provide more accurate historical data, real-time updates, synthesis between departmental data stores, forecasting and trending, and even predictive ‘what if?’ analysis,” eliminating the need to guesstimate.
  • Get faster answers to any business queries
  • Get key business metrics reports when and where we need them
  • Identify cross-selling and up-selling opportunities: BI allows firms to leverage customer data to build, refine and modify predictive models that help sales representatives to up-sell and cross-sell products at appropriate customer touch points.
  • Manage better inventory
  • See where your business has been, where it is now and where it is going: BI has been very successful at explaining what happened to the business over some defined period of time — for example, how many products were sold, through which party, in which geography, or by which customer segment
  • Integrated budgeting & planning processes in a centralized web-based application.

Read Also: Data-Warehousing for Small & Medium Organizations

Implementation Of BI For A DS Organization

We at Andolasoft have expertise on building revenue, budgeting and forecasting data warehouse(DWH) to take care of the needs of each brand, timezone and category which minimizes both IT support and the technical expertise required by the management.

In the present market, the DWH reporting tools are expensive and beyond the affordability for the medium scale organizations. To cut down the cost, we provide well-formatted .xls & .csv file reports for the top management.

I’ve worked with the team at Andolasoft on multiple websites. They are professional, responsive, & easy to work with. I’ve had great experiences & would recommend their services to anyone.

Ruthie Miller, Sr. Mktg. Specialist

Salesforce, Houston, Texas

LEARN MORE

 Conclusion:

One of the goals of business intelligence is to help the corporate executives, managers and other operational heads to take necessary data driven decisions for business.

Most of the companies use BI for cost-cutting, creating better business opportunities and identifying inefficient processes of business.

If you are in search of a better Business Intelligence software development service, you can contact us. Our Andolasoft expertise will help to develop a budgeting, revenue and forecasting data warehouse that helps in your business growth.

Do you wish to add anything to this topic? Share it in the comments section below.

How To Do Custom Pagination In CakePHP

Sometimes we need to do pagination in CakePHP using a traditional SQL query, thereby the CakePHP predefined pagination functionality is lost.

We can implement pagination method in the Model or Behavior when we are using standard SQL query in CakePHP. Just need to make sure that the result cannot be obtained with core model methods, or a custom finder before implementing custom queries pagination.

But we can’t just use the standard pagination on the custom queries, we have to override the paginate functions in model or behavior.

To use our own method/logic to override the CakePHP pagination in the model, we need to add two functions: paginate() and paginateCount().

In these functions, we can implement our own paginate logic.

Overriding paginate() function in CakePHP Post Model:

[php]public function paginate($conditions, $fields, $order, $limit, $page = 1, $recursive = null, $extra = array()) {
$orderStr = ”;
foreach($order as $k => $ord) {
$orderStr[] = $k . ‘ ‘ . $ord;
}
$orderStr = ‘ORDER BY ‘. implode(‘, ‘, $orderStr);

$qryCond = ‘1’;
if (isset($conditions[‘Post.title LIKE’])) {
$qryCond = ‘title LIKE \”.$conditions[‘Post.title LIKE’].’\”;
}

$qryFlds = ‘*’;
if ($fields) {
$qryFlds = implode(‘, ‘, $fields);
}

$sql = ‘SELECT ‘.$qryFlds.’ FROM posts as Post WHERE ‘.$qryCond.’ ‘.$orderStr . ‘ LIMIT ‘ . (($page-1) * $limit) . ‘, ‘ . $limit;
$results = $this->query($sql);
return $results;
}[/php]

Overriding paginateCount() function in CakePHP Post Model:

[php]public function paginateCount($conditions = null, $recursive = 0, $extra = array()) {
$qryCond = ‘1’;
if (isset($conditions[‘Post.title LIKE’])) {
$qryCond = ‘title LIKE \”.$conditions[‘Post.title LIKE’].’\”;
}

$sql = ‘SELECT COUNT(*) as count FROM posts as Post WHERE ‘.$qryCond;

$this->recursive = -1;

$results = $this->query($sql);
return $results[0][0][‘count’];
}[/php]

Using in the Post Controller: We can adjust the fields to get, column ordering, add certain conditions or adjust row limit per page.

[php]public function index() {
$this->paginate = array(
‘limit’ => 10,
‘fields’ => array(‘Post.id’, ‘Post.title’, ‘Post.created’),
‘conditions’ => array(‘Post.title LIKE’ => ‘%search_keyword%’),
‘order’ => array(‘Post.title’ => ‘asc’, ‘Post.id’ => ‘asc’)
);
try {
$this->set(‘posts’, $this->paginate(‘Post’));
} catch (NotFoundException $e) {
$this->redirect(‘index_custom’);
}
}[/php]

The above example is based on specific model and requirement, need to adjust the methods according to the requirements.

See Also: Creating a custom handler session in CakePHP 2.x

Best of luck and happy pagination.

Hope you liked this. Let me know if you want to add anything?

Grow Your Business For Your Mobile App With Google Analytics

In this digital era, information or data plays pivotal role in the process of development. The more information you have, more precise and accurate decision you can take. And this is also applies to mobile apps.

As per report comes from Portio “1.2 billion people worldwide were using mobile apps at the end of 2012. This is forecast to grow at a 29.8 percent each year, to reach 4.4 billion users by the end of 2017.” This simply indicates industry’s future growth potential; but to stand out this industry is not an easy job. Good news is that Google has its own free analytics tool that helps you to find out insight details of your mobile app which can be your vital part of our app development process.

In June 2012, Google introduced beta version of mobile app analytics ; but now it becomes the part of Universal Analytics. Today our purpose is to educate those developers or users who are not familiar with this influential API(Application Program Interface)

How To Setup Google Analytics for Mobile App?

Step 1:

Set up a new app property in your analytics accounts.
First login into your google analytic profile. Here you get two options:

  • Option One: You can create new account for your mobile app. For this go to admin section, then create new accounts from the account tab and choose “mobile app” tab. Now just provide details like Account name, App name, Industry category and time zone and you will get your tracking code. This option is more suitable if you want to see your analytic data of your mobile apps only.
  • Option Two: Here you can create a new property from your existing account. For this simply go to account where you want to add your new property and then select “Create new property” tab under property section and rest is similar to option one.This option is more suitable if you want to see analytic data of your web application as well as corresponding mobile application.

Step 2:

Download the Google Analytics SDK for Android or iOS from the same account screen that provides the tracking ID. Suggest to take help of mobile developer to implement tracking via SDK.

Never miss an update from us. Join 10,000+ marketers and leaders.

Once you setup your analytic for mobile app you can analyze your data through lots of cool features and out of them I have listed few features here:

  • Enhance your customer base by knowing who utilizes your app, on what platform, where they come from and what they looking for from Traffic Source report and Google play integration.Note: If you link your Google Analytics account to Google Play then your android apps will be automatically recognized in Google Analytic; but you have to associate each application separately with an analytic account.
  • Event tracking, Flow visualization, and Real time reporting helps you to identify scope of improvement for better customer engagement. With in-built crash and exception reporting, you can prioritize the issues which are impacting your visitors, helping you to serve better user experience. More you engage your visitor, better chance to achieve your objective.
  • Every single application has certain goals such as purchase, leads, signup or simply spending time on app. This helps you to setup and track those goals.
  • Google Analytics is now available on Admob. So you can get full analytic data either from Google Analytics or from Analyze tab of Admob account.

Recently, Google also released official Google Analytic app for iphone user (https://itunes.apple.com/app/google-analytics/id881599038). In future we may review this app for you.

See Also : Tips to increase your app download through App Store Optimization(ASO)

Andolasoft has been successfully delivered lots of iOS and Android app for his worldwide customer. You can check out our portfolio page. I would love to hear how you are using, or plan to use, this powerful Google API.

Comparison between ASP.NET MVC or ASP.NET Web Forms

When it comes to web development using Microsoft’s .NET framework, two popular approaches are ASP.NET MVC (Model-View-Controller) and ASP.NET Web Forms.

Both have their strengths and weaknesses, and the choice between them depends on the specific needs of your project.

In this blog post, we’ll compare ASP.NET MVC and ASP.NET Web Forms in terms of architecture, development style, flexibility, and other key factors to help you make an informed decision.

When developing web apps using Microsoft’s .NET framework, the two most popular approaches that developers employ are the ASP.NET MVC and the ASP.NET Web Forms.

Both have their strengths and weaknesses; the choice between which one is best depends on the specific needs of the projects. 

In this blog post we will compare the ASP.NET MVC and ASP.NET Web Forms in terms of architecture, development style, flexibility and other key factors to help to make the right decision. 

ASP.NET MVC ASP.NET Web Forms
Architecture:
  • MVC is a design pattern that separates an application into three components: Model, View, and Controller.
  • This separation of concerns provides a more organized and maintainable codebase.
  • Developers have fine-grained control over the HTML, enabling them to create SEO-friendly and responsive web applications.
  • Web Forms follow a more traditional event-driven model, where you design pages with server controls and handle events on the server.
  • The architecture is more tightly coupled, making it easier for beginners but less flexible for complex scenarios.
Development Style:
  • Promotes a test-driven development (TDD) approach, which is ideal for writing unit tests.
  • Developers have more control over the markup, making it easier to customize the HTML and CSS.
  • Offers a rapid application development (RAD) style, which is well-suited for small to medium-sized projects with quick turnarounds.
  • It provides a more event-centric programming model, making it easier for developers with a background in Windows Forms development.
Flexibility
  • Highly flexible and extensible, allowing developers to use third-party libraries and frameworks as needed.
  • It is a good choice for building RESTful APIs, and it can be used to create single-page applications (SPAs).
  • Less flexible when it comes to integrating third-party libraries and frameworks.
  • Best suited for traditional web applications with server controls and postbacks.
Learning Curve:
  • Has a steeper learning curve, especially for developers who are new to the MVC design pattern.
  • Requires a good understanding of web development concepts, making it a better choice for experienced developers.
  • Easier for beginners to grasp, particularly those with a background in Windows Forms development.
  • Offers a more visual and event-driven approach that can be more intuitive for some.
SEO and Performance:
  • Provides better control over HTML markup and URLs, making it easier to create SEO-friendly web applications.
  • Generally offers better performance, as it reduces the overhead associated with the ViewState in Web Forms.
  • SEO can be more challenging due to the nature of server controls and View State.
  • In some cases, it may result in slower performance, especially when handling complex forms.
Community and Support:
  • Has a strong and active community, with a plethora of resources, documentation, and third-party extensions available.
  • Regular updates and improvements have been made to the framework.
  • Although still supported, its popularity has waned compared to ASP.NET MVC.
  • The community and resources are not as vibrant as they once were.

Let’s compare and figure out:

Following are the advantages of ASP.NET MVC over Web Forms:

  • Absence of statefulness and ViewState makes the page lighter compared to WebForms
  • Shorter page life-cycle makes it easy to understand and less complex
  • Higher control over HTML, JavaScript(DOM elements) and CSS makes customization and accessibility easier
  • Higher control over HTML means compliance with evolving standards like Web2.0
  • Higher control over HTML also means developers find it easier in building Ajax applications, and adding more interactivity and responsiveness to existing applications
  • Modification takes less time to implement as there is separation between UI and business layers
  • Having option to accommodate more than one form in a single page is a clear advantage
  • TDD is easier to implement as it does not relies on event handlers which are only fired in web contexts, when a form is posted or a page is requested
  • MVC framework decouples the components and makes use of interfaces, which makes it easier to test individual components in isolation from the rest of the framework
  • It’s efficient for large application specially those follows agile methodologies for development
  • URLs tend to be much more SEO-friendly, if you design your controllers and actions properly

Following are the advantages of Web Forms over ASP.NET MVC:

  • Easy to learn for most of the developers regardless of their background in development
  • Higher number of active developers compared to ASP.NET MVC as the technology is relatively old
  • Since it uses controls, it is easier to inherit that means you can reuse controls made for other application
  • For developers increase in productivity is a definite plus
  • Developer with higher competence in HTML,DOM, and CSS is not mandatory as most of it is handled by controls
  • Easier to achieve data persistence between requests due to statefulness and ViewState
  • RAD(Rapid Application Development) with drag & drop controls means you do not need to code much
  • It is faster to implement validation on controls as they are generated automatically
  • Lots of third party component makes it easier to generate the HTML and JavaScript for the developer
  • Programmatic access to the UI elements makes it easier to implement SharePoint

The framework chosen should be based upon the requirements and resources of the company doing the development.

If you want to have a faster development cycle than Web Forms might be the best option.

If time, money, and energy to develop an application from the scratch is not a constraint then MVC could potentially be the better option.

Andolasoft has extensive experience with both frameworks and would be more than happy to help you to decide your development decisions.

Recommended Blog: Rails-Things you must know about TDD and BDD

Do you like this blog? I’d love to hear something from you. Thanks for sharing your comments.