Monthly Archives: July 2016

Using gdb to trace Apache core dumps

Apache webserver at times you see various segmentation fault messages occurring due to memory issue, some problem integrating with methods at time communicating with samba through your perl code etc.

So core dumps can help you troubleshooting the root cause of the issue.  To enable coredumps in apache you have to use the below parameter in apache configuration file named httpd.conf.

 

  • Created directory /tmp/apache2-gdb-dump with owner:group and 0777 permissions
  • Edited httpd.conf and added:
    CoreDumpDirectory /tmp/apache-dump
  • Ran the following command to remove core dump file limits:
    ulimit -c unlimited
  • Edited /etc/sysctl.conf and added the lines below:
    kernel.core_uses_pid = 1
    kernel.core_pattern = /tmp/apache2-gdb-dump/core
    fs.suid_dumpable = 2
  • Edited /etc/security/limits.conf to include the following:
    *  soft  core  unlimited
  • Reloaded the settings using:
    sysctl -p
  • Restart Apache

 

So now call the page on browser which causes segmentation fault and apache would generate a coredump file named core in that directory.

gdb :- GNU debugger is a standard debugger for GNU operating system.

Install gdb on Centos/Redhat machines :- yum install gdb

For ubuntu/debian :- apt-get install gdb

So now core file is generated as per the changes done in apache configuration file /tmp/apache-dump  directory.

How to debug the core dump ?

#gdb /usr/sbin/httpd /tmp/apache-dump/core (For Centos/Redhat)

#gdb /usr/sbin/apache2 /tmp/apache-dump/core(For Ubuntu/Debian).

gdb > bt full (When you give this command you get a full backtrace)

With this you would get a complete idea what is causing the segmentation fault.

Please feel free for any comments or queries.

-Alok Thaker

Let’s talk about OpenStack

We have cloud being a hot cake around the world. All enterprises have been shifting their business and application over the cloud. AWS has emerged as a great player along with rackspace,godaddy etc but an open source cloud is in demand too i.e why I am talking about Openstack.

OpenStack comes with it’s pros and cons as you need some skills to handle and deploy openstack and it’s of no ease to use solution. Benefits of OpenStack lies in being opensource & scalable to your enterprise needs.

So how you should start with OpenStack ?

There are various ways to start with OpenStack from scratch.Below URL makes it easy to start :-

https://www.openstack.org/software/start/

I also used autopilot for installing & configuring OpenStack on Ubuntu which makes life easier for system administrators and IT guys making the installation process smooth and easy.

To know more about autopilot for openstack installation please follow the below link :-

http://www.ubuntu.com/download/cloud/install-openstack-with-autopilot

To know more about components and indepth architecture of OpenStack please go through https://www.linux.com/learn/introduction-openstack-part-one-zero-domination

Feel free for any comment or queries.

-Alok Thaker

 

 

 

 

Open Source Tools for microservices

In today’s world of IT we have various business models for enterprise,e-commerce portals, payment gateways ,schedulers and we need various microservices to handle the entire system. The goal is here to build different components for each services leading to running on their own processes and communicating with light weight mechanisms leading applications become easier to build and maintain when they are broken down into smaller, composable pieces which work together.

The idea of separating applications into smaller parts is nothing new; there are other programming paradigms which address this same concept, such as Service Oriented Architecture (SOA). What may be new are some of the tools and techniques used to deliver on the promise of microservices.

The common definition of microservices generally relies upon each microservice providing an API endpoint, often but not always a stateless REST API which can be accessed over HTTP(S) just like a standard webpage. This method for accessing microservices make them easy for developers to consume as they only require tools and methods many developers are already familiar with.

So which famous open source tools can be used to handle microservices. Some of the handy I found are mentioned below :-

http://fabric8.io/

fabric8 is an open source platform for docker,Kubernetes and Jenkins. fabric8 makes it easy to create microservices, build, test and deploy them via Continuous Delivery pipelines then run and manage them with Continuous Improvement and ChatOps.

For knowing more you can follow the documentation and vides mentioned on fabric8 website.

Feel free for any comments or queries.

-Alok Thaker